openapi: 3.1.0
info:
title: Port API
version: '1.0'
components:
securitySchemes:
bearer:
type: apiKey
name: Authorization
in: header
schemas:
def-0:
type: object
properties:
jqQuery:
type: string
description: A [jq query](https://stedolan.github.io/jq/manual/) that resolves
to `true` or `false`, determining the visibility of the input.
required:
- jqQuery
additionalProperties: false
title: /schemas/userInputs/jqQuery
def-1:
type: object
properties:
combinator:
enum:
- and
- or
description: The combinator to use for the rules.
rules:
type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
required:
- combinator
- rules
additionalProperties: false
example:
combinator: and
rules:
- property: $blueprint
operator: '='
value: service
- combinator: or
rules:
- property: environment
operator: '='
value: production
- property: environment
operator: '='
value: staging
title: /schemas/entitiesQuery
def-2:
type: object
properties:
combinator:
enum:
- and
- or
description: The combinator to use for the rules.
rules:
type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- $ref: '#/components/schemas/def-0'
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- $ref: '#/components/schemas/def-0'
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
- $ref: '#/components/schemas/def-0'
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- $ref: '#/components/schemas/def-0'
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-2'
required:
- combinator
- rules
additionalProperties: false
title: /schemas/entitiesQueryWithJqQuery
def-3:
type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- dashboard-widget
layout:
type: array
items:
type: object
properties:
height:
type: number
columns:
type: array
items:
type: object
properties:
size:
type: number
id:
type: string
additionalProperties: false
required:
- size
- id
additionalProperties: false
required:
- columns
- height
widgets:
type: array
items:
type: object
anyOf:
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- ai-agent
title:
type: string
description:
type: string
agentIdentifier:
type: string
icon:
type: string
useMCP:
type: boolean
additionalProperties: false
required:
- type
- agentIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-info
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-details
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-runs-table-widget
icon:
type: string
description:
type: string
title:
type: string
displayMode:
type: string
enum:
- single
- widget
action:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
additionalProperties: false
required:
- type
- action
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-card-widget
icon:
type: string
description:
type: string
title:
type: string
actions:
type: array
items:
type: object
properties:
action:
type: string
required:
- action
minItems: 1
additionalProperties: false
required:
- type
- actions
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- links-widget
title:
type: string
description:
type: string
icon:
type: string
links:
type: array
items:
type: object
properties:
title:
type: string
minLength: 1
description:
type: string
url:
type: string
icon:
type: string
additionalProperties: false
required:
- title
- url
additionalProperties: false
required:
- type
- links
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer
icon:
type: string
description:
type: string
emptyStateText:
type: string
title:
type: string
blueprint:
type: string
dataset:
$ref: '#/components/schemas/def-1'
excludedFields:
type: array
items:
type: string
displayMode:
type: string
enum:
- tabs
- single
- widget
entitiesQueryMode:
type: string
enum:
- standard
- optimized
blueprintConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer-by-direction
title:
type: string
blueprintConfig:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_.:\\/=-]*\$(specificpath|upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
targetBlueprint:
type: string
relatedProperty:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-audit-log
title:
type: string
description:
type: string
query:
type: object
properties:
identifier:
type: string
description: An identifier of the log event you want to fetch.
entity:
type: string
description: Fetch all audit logs related to the specified entity.
include_deleted_entities:
type: boolean
description: Include deleted entities when searching for audit
logs. This requires the `entity`, `blueprint`, `status`, `from`
and `to` parameters. And the diff between `from` & `to` is
limited to 1 day.
blueprint:
type: string
description: Fetch all audit logs related to the specified blueprint.
run_id:
type: string
description: Fetch all audit logs related to the specified action
run.
webhookId:
type: string
description: Fetch all audit logs related to the specified webhook.
webhookEventId:
type: string
description: Fetch all audit logs related to the specified webhook
event.
origin:
type: array
items:
type: string
description: Fetch all audit logs coming from the specified
origin/s. This refers to the integration/s that triggered
the log. For operations performed via Port's UI, the origin
will be `UI`.
InstallationId:
type: string
description: Fetch all audit logs related to the specified integration.
resources:
anyOf:
- type: array
items:
type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
- type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
description: 'Fetch all audit logs related to the specified
resource type/s.
**Possible values**: [`blueprint`, `entity`,
`run`, `webhook`, `scorecard`, `action`, `integration`]
The
`integration` value is **experimental** and may change in
future API versions.'
includes:
type: array
items:
enum:
- action
- context
- diff
- identifier
- resourceType
- status
- trigger
- additionalData
- message
description: The fields you want to include in the response.
If used, only the specified fields will be included in the
response.
from:
type: string
format: date-time
description: The starting timestamp of the audit logs you want
to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
to:
type: string
format: date-time
description: The ending timestamp of the audit logs you want
to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
action:
type: string
description: Fetch all audit logs with the specified action
type - `CREATE`, `UPDATE`, or `DELETE`.
status:
type: string
enum:
- SUCCESS
- FAILURE
description: Fetch all audit logs with the specified status.
limit:
type: number
description: The maximum number of logs to return. Optional;
defaults to `10000`. The previous default was `100000`, which
could cause `504 Gateway Timeout` on large accounts. Use a
lower value or narrow `from` and `to` if you still hit timeouts.
actionType:
type: string
enum:
- automation
- self-service
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- query
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- users-table
title:
type: string
query:
type: object
properties:
team:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- teams-table
title:
type: string
query:
type: object
properties:
user:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- runs-table
title:
type: string
query:
type: object
properties:
entity:
type: string
description: The identifier of the entity associated with the
action run.
blueprint:
type: string
description: The identifier of the blueprint associated with
the action run.
active:
type: boolean
description: If `true`, only running action runs will be fetched.
user_email:
type: string
description: The email of the user who initiated the action
run.
user_id:
type: string
description: The id of the user who initiated the action run.
limit:
type: number
minimum: 1
maximum: 1000
description: The maximum number of action runs to fetch.
exclude:
type: array
items:
type: string
description: The fields to exclude from the response
external_run_id:
type: string
description: The run id of your backend, for example the id
that GitHub gives the workflow. This can be used to identify
the action run instead of the `run_id`.
version:
type: string
enum:
- v1
- v2
description: Specifies the API version to use. Please use `v2`
for the latest version of the API.
action:
type: string
source:
type: array
items:
type: string
enum:
- UI
- API
- AUTOMATION
if:
properties:
version:
enum:
- v1
- null
then:
properties:
action:
type: 'null'
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- workflow-runs-history-table
query:
type: object
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- run-info
title:
type: string
runId:
type: string
additionalProperties: false
required:
- type
- runId
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- user-info
title:
type: string
user_email:
type: string
additionalProperties: false
required:
- type
- user_email
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- graph-entities-explorer
title:
type: string
dataset:
$ref: '#/components/schemas/def-1'
hiddenBlueprints:
type: array
items:
type: string
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- bar-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- entities-pie-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
oneOf:
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- type
- blueprint
- chartType
- entity
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- multi-line-chart
title:
type: string
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
lines:
type: array
items:
type: object
oneOf:
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- title
- entity
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- blueprint
- chartType
additionalProperties: false
baselines:
type: array
items:
type: object
properties:
name:
type: string
value:
type: number
color:
type: string
additionalProperties: false
required:
- value
nullValueDisplayMode:
type: string
enum:
- zero
- 'null'
required:
- lines
- timeInterval
- timeRange
- title
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- entities-number-chart
title:
type: string
icon:
type: string
description:
type: string
emptyStateText:
type: string
unit:
type: string
enum:
- none
- $
- €
- £
- '%'
- custom
unitAlignment:
type: string
enum:
- left
- right
calculationBy:
type: string
enum:
- entities
- property
conditionalFormatting:
type: array
items:
type: object
properties:
operator:
enum:
- '>'
- '>='
- <
- <=
- '='
- '!='
value:
type: number
message:
type: string
maxLength: 50
description:
type: string
maxLength: 200
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
required:
- operator
- value
displayFormatting:
type: string
enum:
- none
- round
- custom
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- type
- unit
allOf:
- if:
properties:
chartType:
enum:
- aggregateByProperty
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- countEntities
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- displaySingleProperty
required:
- chartType
then:
properties:
property:
type: string
entity:
type: string
required:
- property
- if:
properties:
calculationBy:
enum:
- property
required:
- calculationBy
then:
properties:
property:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
required:
- property
- func
- if:
properties:
calculationBy:
enum:
- entities
required:
- calculationBy
then:
properties:
func:
type: string
enum:
- average
- count
required:
- func
- if:
properties:
func:
enum:
- average
required:
- func
then:
properties:
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
measureTimeBy:
type: string
required:
- averageOf
- if:
properties:
unit:
enum:
- custom
required:
- unit
then:
properties:
unitCustom:
type: string
required:
- unitCustom
- if:
properties:
displayFormatting:
enum:
- custom
required:
- displayFormatting
then:
properties:
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- decimalPlaces
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- iframe-widget
title:
type: string
icon:
type: string
description:
type: string
url:
type: string
format: url
urlType:
type: string
enum:
- public
- protected
required:
- type
- url
- urlType
- title
allOf:
- if:
properties:
urlType:
enum:
- protected
then:
properties:
popupAuth:
type: boolean
tokenUrl:
type: string
format: url
authorizationUrl:
type: string
format: url
clientId:
type: string
scopes:
type: array
items:
type: string
required:
- tokenUrl
- authorizationUrl
- clientId
- scopes
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- markdown
title:
type: string
icon:
type: string
required:
- type
- title
anyOf:
- type: object
properties:
source:
type: string
enum:
- custom
markdown:
type: string
required:
- markdown
- type: object
properties:
source:
type: string
enum:
- property
blueprintIdentifier:
type: string
propertyIdentifier:
type: string
entityIdentifier:
type: string
required:
- source
- blueprintIdentifier
- propertyIdentifier
- entityIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- team-info
title:
type: string
team_name:
type: string
additionalProperties: false
required:
- type
- team_name
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-viewed-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-used-actions
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- my-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- custom-widget
title:
type: string
icon:
type: string
description:
type: string
pluginId:
type: string
paramValues:
type: object
additionalProperties:
type: object
properties:
type:
type: string
enum:
- string
- number
- boolean
- object
- array
- blueprint
value:
oneOf:
- type: string
- type: number
- type: boolean
- type: array
- type: object
required:
- type
- value
additionalProperties: false
required:
- type
- pluginId
- title
additionalProperties: false
- $ref: '#/components/schemas/def-3'
- $ref: '#/components/schemas/def-4'
additionalProperties: false
required:
- type
- layout
- widgets
title: /schemas/dashboardWidget
def-4:
type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- grouper
title:
type: string
displayMode:
type: string
enum:
- tabs
- switch
activeGroupUrlParam:
type: string
groupsOrder:
type: array
items:
type: string
groups:
type: array
items:
type: object
properties:
title:
type: string
icon:
type: string
widgets:
type: array
items:
anyOf:
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- ai-agent
title:
type: string
description:
type: string
agentIdentifier:
type: string
icon:
type: string
useMCP:
type: boolean
additionalProperties: false
required:
- type
- agentIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-info
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-details
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-runs-table-widget
icon:
type: string
description:
type: string
title:
type: string
displayMode:
type: string
enum:
- single
- widget
action:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
additionalProperties: false
required:
- type
- action
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-card-widget
icon:
type: string
description:
type: string
title:
type: string
actions:
type: array
items:
type: object
properties:
action:
type: string
required:
- action
minItems: 1
additionalProperties: false
required:
- type
- actions
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- links-widget
title:
type: string
description:
type: string
icon:
type: string
links:
type: array
items:
type: object
properties:
title:
type: string
minLength: 1
description:
type: string
url:
type: string
icon:
type: string
additionalProperties: false
required:
- title
- url
additionalProperties: false
required:
- type
- links
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer
icon:
type: string
description:
type: string
emptyStateText:
type: string
title:
type: string
blueprint:
type: string
dataset:
$ref: '#/components/schemas/def-1'
excludedFields:
type: array
items:
type: string
displayMode:
type: string
enum:
- tabs
- single
- widget
entitiesQueryMode:
type: string
enum:
- standard
- optimized
blueprintConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer-by-direction
title:
type: string
blueprintConfig:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_.:\\/=-]*\$(specificpath|upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
targetBlueprint:
type: string
relatedProperty:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-audit-log
title:
type: string
description:
type: string
query:
type: object
properties:
identifier:
type: string
description: An identifier of the log event you want to
fetch.
entity:
type: string
description: Fetch all audit logs related to the specified
entity.
include_deleted_entities:
type: boolean
description: Include deleted entities when searching for
audit logs. This requires the `entity`, `blueprint`,
`status`, `from` and `to` parameters. And the diff between
`from` & `to` is limited to 1 day.
blueprint:
type: string
description: Fetch all audit logs related to the specified
blueprint.
run_id:
type: string
description: Fetch all audit logs related to the specified
action run.
webhookId:
type: string
description: Fetch all audit logs related to the specified
webhook.
webhookEventId:
type: string
description: Fetch all audit logs related to the specified
webhook event.
origin:
type: array
items:
type: string
description: Fetch all audit logs coming from the specified
origin/s. This refers to the integration/s that triggered
the log. For operations performed via Port's UI, the
origin will be `UI`.
InstallationId:
type: string
description: Fetch all audit logs related to the specified
integration.
resources:
anyOf:
- type: array
items:
type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
- type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
description: 'Fetch all audit logs related to the specified
resource type/s.
**Possible values**: [`blueprint`,
`entity`, `run`, `webhook`, `scorecard`, `action`, `integration`]
The
`integration` value is **experimental** and may change
in future API versions.'
includes:
type: array
items:
enum:
- action
- context
- diff
- identifier
- resourceType
- status
- trigger
- additionalData
- message
description: The fields you want to include in the response.
If used, only the specified fields will be included
in the response.
from:
type: string
format: date-time
description: The starting timestamp of the audit logs
you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
to:
type: string
format: date-time
description: The ending timestamp of the audit logs you
want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
action:
type: string
description: Fetch all audit logs with the specified action
type - `CREATE`, `UPDATE`, or `DELETE`.
status:
type: string
enum:
- SUCCESS
- FAILURE
description: Fetch all audit logs with the specified status.
limit:
type: number
description: The maximum number of logs to return. Optional;
defaults to `10000`. The previous default was `100000`,
which could cause `504 Gateway Timeout` on large accounts.
Use a lower value or narrow `from` and `to` if you still
hit timeouts.
actionType:
type: string
enum:
- automation
- self-service
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- query
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- users-table
title:
type: string
query:
type: object
properties:
team:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- teams-table
title:
type: string
query:
type: object
properties:
user:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- runs-table
title:
type: string
query:
type: object
properties:
entity:
type: string
description: The identifier of the entity associated with
the action run.
blueprint:
type: string
description: The identifier of the blueprint associated
with the action run.
active:
type: boolean
description: If `true`, only running action runs will
be fetched.
user_email:
type: string
description: The email of the user who initiated the action
run.
user_id:
type: string
description: The id of the user who initiated the action
run.
limit:
type: number
minimum: 1
maximum: 1000
description: The maximum number of action runs to fetch.
exclude:
type: array
items:
type: string
description: The fields to exclude from the response
external_run_id:
type: string
description: The run id of your backend, for example the
id that GitHub gives the workflow. This can be used
to identify the action run instead of the `run_id`.
version:
type: string
enum:
- v1
- v2
description: Specifies the API version to use. Please
use `v2` for the latest version of the API.
action:
type: string
source:
type: array
items:
type: string
enum:
- UI
- API
- AUTOMATION
if:
properties:
version:
enum:
- v1
- null
then:
properties:
action:
type: 'null'
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- workflow-runs-history-table
query:
type: object
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- run-info
title:
type: string
runId:
type: string
additionalProperties: false
required:
- type
- runId
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- user-info
title:
type: string
user_email:
type: string
additionalProperties: false
required:
- type
- user_email
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- graph-entities-explorer
title:
type: string
dataset:
$ref: '#/components/schemas/def-1'
hiddenBlueprints:
type: array
items:
type: string
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- bar-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- entities-pie-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
oneOf:
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- type
- blueprint
- chartType
- entity
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- multi-line-chart
title:
type: string
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
lines:
type: array
items:
type: object
oneOf:
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- title
- entity
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- blueprint
- chartType
additionalProperties: false
baselines:
type: array
items:
type: object
properties:
name:
type: string
value:
type: number
color:
type: string
additionalProperties: false
required:
- value
nullValueDisplayMode:
type: string
enum:
- zero
- 'null'
required:
- lines
- timeInterval
- timeRange
- title
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- entities-number-chart
title:
type: string
icon:
type: string
description:
type: string
emptyStateText:
type: string
unit:
type: string
enum:
- none
- $
- €
- £
- '%'
- custom
unitAlignment:
type: string
enum:
- left
- right
calculationBy:
type: string
enum:
- entities
- property
conditionalFormatting:
type: array
items:
type: object
properties:
operator:
enum:
- '>'
- '>='
- <
- <=
- '='
- '!='
value:
type: number
message:
type: string
maxLength: 50
description:
type: string
maxLength: 200
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
required:
- operator
- value
displayFormatting:
type: string
enum:
- none
- round
- custom
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- type
- unit
allOf:
- if:
properties:
chartType:
enum:
- aggregateByProperty
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- countEntities
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- displaySingleProperty
required:
- chartType
then:
properties:
property:
type: string
entity:
type: string
required:
- property
- if:
properties:
calculationBy:
enum:
- property
required:
- calculationBy
then:
properties:
property:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
required:
- property
- func
- if:
properties:
calculationBy:
enum:
- entities
required:
- calculationBy
then:
properties:
func:
type: string
enum:
- average
- count
required:
- func
- if:
properties:
func:
enum:
- average
required:
- func
then:
properties:
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
measureTimeBy:
type: string
required:
- averageOf
- if:
properties:
unit:
enum:
- custom
required:
- unit
then:
properties:
unitCustom:
type: string
required:
- unitCustom
- if:
properties:
displayFormatting:
enum:
- custom
required:
- displayFormatting
then:
properties:
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- decimalPlaces
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- iframe-widget
title:
type: string
icon:
type: string
description:
type: string
url:
type: string
format: url
urlType:
type: string
enum:
- public
- protected
required:
- type
- url
- urlType
- title
allOf:
- if:
properties:
urlType:
enum:
- protected
then:
properties:
popupAuth:
type: boolean
tokenUrl:
type: string
format: url
authorizationUrl:
type: string
format: url
clientId:
type: string
scopes:
type: array
items:
type: string
required:
- tokenUrl
- authorizationUrl
- clientId
- scopes
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- markdown
title:
type: string
icon:
type: string
required:
- type
- title
anyOf:
- type: object
properties:
source:
type: string
enum:
- custom
markdown:
type: string
required:
- markdown
- type: object
properties:
source:
type: string
enum:
- property
blueprintIdentifier:
type: string
propertyIdentifier:
type: string
entityIdentifier:
type: string
required:
- source
- blueprintIdentifier
- propertyIdentifier
- entityIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- team-info
title:
type: string
team_name:
type: string
additionalProperties: false
required:
- type
- team_name
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-viewed-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-used-actions
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- my-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- custom-widget
title:
type: string
icon:
type: string
description:
type: string
pluginId:
type: string
paramValues:
type: object
additionalProperties:
type: object
properties:
type:
type: string
enum:
- string
- number
- boolean
- object
- array
- blueprint
value:
oneOf:
- type: string
- type: number
- type: boolean
- type: array
- type: object
required:
- type
- value
additionalProperties: false
required:
- type
- pluginId
- title
additionalProperties: false
- $ref: '#/components/schemas/def-3'
- $ref: '#/components/schemas/def-4'
additionalProperties: false
required:
- title
- widgets
additionalProperties: false
required:
- type
- groups
- displayMode
title: /schemas/grouperWidget
def-5:
type: object
properties:
combinator:
enum:
- and
- or
rules:
type: array
description: A search query to define the entity's identifier based on a
property of the entity.
Read more [here](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#map-by-property).
items:
anyOf:
- type: object
title: '`=` rule'
properties:
property:
type: string
operator:
enum:
- '='
value:
anyOf:
- type: string
title: String
- type: number
title: Number
- type: 'null'
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: '`in` rule'
properties:
property:
type: string
operator:
enum:
- in
- containsAny
value:
type: array
items:
type: string
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: '`contains` rule'
properties:
property:
type: string
operator:
enum:
- contains
value:
anyOf:
- type: string
- type: array
items:
type: string
- type: 'null'
additionalProperties: false
required:
- property
- operator
- value
- $ref: '#/components/schemas/def-5'
required:
- combinator
- rules
additionalProperties: false
title: /schemas/searchIdentifierQuerySchema
def-6:
type: object
properties:
combinator:
enum:
- and
- or
rules:
type: array
description: A search query to define the entity's identifier based on a
property of the entity.
Read more [here](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#map-by-property).
items:
anyOf:
- type: object
title: '`=` rule'
properties:
property:
type: string
operator:
enum:
- '='
value:
anyOf:
- type: string
title: String
- type: number
title: Number
- type: 'null'
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: '`in` rule'
properties:
property:
type: string
operator:
enum:
- in
- containsAny
value:
type: array
items:
type: string
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: '`contains` rule'
properties:
property:
type: string
operator:
enum:
- contains
value:
anyOf:
- type: string
- type: array
items:
type: string
- type: 'null'
additionalProperties: false
required:
- property
- operator
- value
- $ref: '#/components/schemas/def-6'
required:
- combinator
- rules
additionalProperties: false
title: /schemas/searchRelationsQuerySchema
def-7:
type: object
properties:
combinator:
enum:
- and
- or
rules:
type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- properties:
operator:
enum:
- isEmpty
- isNotEmpty
targetProperty:
type: string
enum:
- $title
- $identifier
relation:
type: string
required:
- operator
- relation
additionalProperties: false
- properties:
operator:
enum:
- isEmpty
- isNotEmpty
scorecardRule:
type: string
scorecard:
type: string
required:
- operator
- scorecard
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
properties:
relation:
type: string
targetProperty:
type: string
enum:
- $title
- $identifier
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: string
format: date-time
title: date-time
additionalProperties: false
required:
- relation
- operator
- value
- type: object
properties:
scorecard:
type: string
scorecardRule:
type: string
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: string
format: date-time
title: date-time
additionalProperties: false
required:
- scorecard
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-7'
required:
- combinator
- rules
additionalProperties: false
title: /schemas/entitiesQueryV2
paths:
/v1/blueprints/{blueprint_identifier}/permissions:
get:
summary: Get a blueprint's permissions
tags:
- Blueprints
description: This route allows you to retrieve the permissions of a blueprint.
To
learn more about permissions, check out the [documentation](https://docs.port.io/build-your-software-catalog/set-catalog-rbac/examples).
parameters:
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer:
- read:blueprints
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
patch:
summary: Update a blueprint's permissions
tags:
- Blueprints
description: This route allows you to update the permissions of a blueprint.
To
learn more about permissions, check out the [documentation](https://docs.port.io/build-your-software-catalog/set-catalog-rbac/examples).
requestBody:
content:
application/json:
schema:
type: object
properties:
entities:
type: object
properties:
read:
type: object
properties:
users:
type: array
items:
type: string
description: List of users (email addresses) that are allowed
to perform the action.
teams:
type: array
items:
type: string
description: List of teams that are allowed to perform the
action.
roles:
type: array
items:
type: string
description: List of roles that are allowed to perform the
action.
ownedByTeam:
type: boolean
policy:
type: object
properties:
combinator:
enum:
- and
- or
description: The combinator to use for the rules.
rules:
type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
required:
- combinator
- rules
additionalProperties: false
example:
combinator: and
rules:
- property: $blueprint
operator: '='
value: service
- combinator: or
rules:
- property: environment
operator: '='
value: production
- property: environment
operator: '='
value: staging
additionalProperties: false
register:
type: object
properties:
users:
type: array
items:
type: string
description: List of users (email addresses) that are allowed
to perform the action.
teams:
type: array
items:
type: string
description: List of teams that are allowed to perform the
action.
roles:
type: array
items:
type: string
description: List of roles that are allowed to perform the
action.
ownedByTeam:
type: boolean
description: If `true`, permissions will be determined by
team ownership, rather than by roles or direct assignment
to users. Every user will be able to perform actions on
entities belonging to their team/s.
additionalProperties: false
description: Defines who has permissions to create entities
of this blueprint.
update:
type: object
properties:
users:
type: array
items:
type: string
description: List of users (email addresses) that are allowed
to perform the action.
teams:
type: array
items:
type: string
description: List of teams that are allowed to perform the
action.
roles:
type: array
items:
type: string
description: List of roles that are allowed to perform the
action.
ownedByTeam:
type: boolean
description: If `true`, permissions will be determined by
team ownership, rather than by roles or direct assignment
to users. Every user will be able to perform actions on
entities belonging to their team/s.
additionalProperties: false
description: Defines who has permissions to modify entities
of this blueprint.
unregister:
type: object
properties:
users:
type: array
items:
type: string
description: List of users (email addresses) that are allowed
to perform the action.
teams:
type: array
items:
type: string
description: List of teams that are allowed to perform the
action.
roles:
type: array
items:
type: string
description: List of roles that are allowed to perform the
action.
ownedByTeam:
type: boolean
description: If `true`, permissions will be determined by
team ownership, rather than by roles or direct assignment
to users. Every user will be able to perform actions on
entities belonging to their team/s.
additionalProperties: false
description: Defines who has permissions to delete entities
of this blueprint.
updateProperties:
type: object
description: Defines who has permissions to modify specific
properties in entities of this blueprint.
additionalProperties:
type: object
properties:
users:
type: array
items:
type: string
description: List of users (email addresses) that are
allowed to perform the action.
teams:
type: array
items:
type: string
description: List of teams that are allowed to perform
the action.
roles:
type: array
items:
type: string
description: List of roles that are allowed to perform
the action.
ownedByTeam:
type: boolean
description: If `true`, permissions will be determined
by team ownership, rather than by roles or direct assignment
to users. Every user will be able to modify properties
in entities belonging to their team/s.
updateRelations:
type: object
description: Defines who has permissions to modify specific
relations in entities of this blueprint.
additionalProperties:
type: object
properties:
users:
type: array
items:
type: string
description: List of users (email addresses) that are
allowed to perform the action.
teams:
type: array
items:
type: string
description: List of teams that are allowed to perform
the action.
roles:
type: array
items:
type: string
description: List of roles that are allowed to perform
the action.
ownedByTeam:
type: boolean
description: If `true`, permissions will be determined
by team ownership, rather than by roles or direct assignment
to users. Every user will be able to modify relations
in entities belonging to their team/s.
additionalProperties: false
additionalProperties: false
parameters:
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/blueprints/{blueprint_identifier}/permissions/simulate:
post:
summary: Simulate permissions for a user
tags:
- Blueprints
description: This route allows you to simulate what permissions a specific user
would have for entities in a blueprint.
Provide a userIdentifier and operation
to see which entities are accessible, or additionally provide an entityIdentifier
to see detailed permission checks for that specific entity.
To learn
more, see the [permission simulator documentation](https://docs.port.io/build-your-software-catalog/set-catalog-rbac#permission-simulator).
requestBody:
content:
application/json:
schema:
type: object
properties:
userIdentifier:
type: string
description: The identifier of the user to simulate permissions
for.
operation:
type: string
enum:
- read
- register
- update
- unregister
description: The operation to simulate permissions for.
entityIdentifier:
description: The identifier of the entity to simulate permissions
for.
type: string
permissions:
description: The permissions to simulate.
type: object
properties:
entities:
type: object
properties:
read:
type: object
properties:
roles:
description: The roles to simulate permissions for.
type: array
items:
type: string
users:
description: The users to simulate permissions for.
type: array
items:
type: string
teams:
description: The teams to simulate permissions for.
type: array
items:
type: string
ownedByTeam:
description: The owned by team to simulate permissions
for.
type: boolean
policy:
description: The policy to simulate permissions for.
type: object
properties:
combinator:
type: string
enum:
- and
- or
rules:
type: array
items: {}
required:
- combinator
- rules
additionalProperties: false
additionalProperties: false
description: The read permissions to simulate.
register:
type: object
properties:
roles:
description: The roles to simulate permissions for.
type: array
items:
type: string
users:
description: The users to simulate permissions for.
type: array
items:
type: string
teams:
description: The teams to simulate permissions for.
type: array
items:
type: string
ownedByTeam:
description: The owned by team to simulate permissions
for.
type: boolean
additionalProperties: false
update:
type: object
properties:
roles:
description: The roles to simulate permissions for.
type: array
items:
type: string
users:
description: The users to simulate permissions for.
type: array
items:
type: string
teams:
description: The teams to simulate permissions for.
type: array
items:
type: string
ownedByTeam:
description: The owned by team to simulate permissions
for.
type: boolean
additionalProperties: false
unregister:
type: object
properties:
roles:
description: The roles to simulate permissions for.
type: array
items:
type: string
users:
description: The users to simulate permissions for.
type: array
items:
type: string
teams:
description: The teams to simulate permissions for.
type: array
items:
type: string
ownedByTeam:
description: The owned by team to simulate permissions
for.
type: boolean
additionalProperties: false
updateProperties:
type: object
propertyNames:
type: string
additionalProperties:
type: object
properties:
roles:
description: The roles to simulate permissions for.
type: array
items:
type: string
users:
description: The users to simulate permissions for.
type: array
items:
type: string
teams:
description: The teams to simulate permissions for.
type: array
items:
type: string
ownedByTeam:
description: The owned by team to simulate permissions
for.
type: boolean
additionalProperties: false
updateRelations:
type: object
propertyNames:
type: string
additionalProperties:
type: object
properties:
roles:
description: The roles to simulate permissions for.
type: array
items:
type: string
users:
description: The users to simulate permissions for.
type: array
items:
type: string
teams:
description: The teams to simulate permissions for.
type: array
items:
type: string
ownedByTeam:
description: The owned by team to simulate permissions
for.
type: boolean
additionalProperties: false
additionalProperties: false
description: The entities to simulate permissions for.
additionalProperties: false
required:
- userIdentifier
- operation
additionalProperties: false
required: true
parameters:
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/pages/{page_identifier}/permissions:
get:
summary: Get a page's permissions
tags:
- Pages
description: This route allows you to get a specific page's permissions.
To
learn more about pages, check out the [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/page/page-permissions).
parameters:
- schema:
type: string
minLength: 1
in: path
name: page_identifier
required: true
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
patch:
summary: Update a page's permissions
tags:
- Pages
description: This route allows you to update a specific page’s permissions.
To learn more about pages, check out the [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/page/page-permissions).
requestBody:
content:
application/json:
schema:
type: object
properties:
read:
type: object
properties:
users:
type: array
items:
type: string
roles:
type: array
items:
type: string
teams:
type: array
items:
type: string
additionalProperties: false
update:
type: object
properties:
users:
type: array
items:
type: string
roles:
type: array
items:
type: string
teams:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
parameters:
- schema:
type: string
minLength: 1
in: path
name: page_identifier
required: true
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/auth/access_token:
post:
summary: Create an access token
tags:
- Authentication / Authorization
description: This route allows you to create an access token for your Port account.
You can use this token to authenticate your requests to the Port API.
To
obtain your client ID and client secret, go to your [Port application](https://app.getport.io),
click on the `...` button in the top right corner, then click `Credentials`.
requestBody:
content:
application/json:
schema:
type: object
properties:
clientId:
type: string
description: Your Port client ID
clientSecret:
type: string
description: Your Port client secret
additionalProperties: false
required:
- clientId
- clientSecret
required: true
responses:
'200':
description: Authorized successfully
content:
application/json:
schema:
type: object
properties:
ok:
enum:
- true
accessToken:
type: string
expiresIn:
type: number
description: The number of seconds until the access token expires
tokenType:
type: string
additionalProperties: false
required:
- accessToken
- expiresIn
- tokenType
description: Authorized successfully
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/blueprints/{blueprint_identifier}/entities:
post:
summary: Create an entity
tags:
- Entities
description: This route allows you to create an entity in your software catalog
based on an existing blueprint in your data model. It can also be used to
overwrite or update an existing entity.
To learn more about entities,
check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
oneOf:
- type:
- string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: String identifier
description: The identifier of the entity.
- $ref: '#/components/schemas/def-5'
title: Search query
title:
type: string
description: The title of the entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- title: Team (Single)
type: string
description: The Port team/s to which the entity will belong.
- title: Teams (Multiple)
type: array
items:
type: string
description: The Port team/s to which the entity will belong.
- title: Additional query
$ref: '#/components/schemas/def-6'
properties:
type: object
default: {}
description: An object containing the properties of the entity,
in `"key":"value"` pairs where the `key` is the property's identifier,
and the `value` is its value.
relations:
type: object
description: An object containing the relations of the entity, in
`"key":"value"` pairs where the `key` is the relation's identifier,
and the `value` is the related entity's identifier for single-relations,
or an array of identifiers for many-relations.
You can also
use a [search query](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#mapping-relations-using-search-queries)
to define relations based on a property of the related entity.
additionalProperties:
anyOf:
- type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: string
- type: array
items:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
title: array
- type: 'null'
title: 'null'
- $ref: '#/components/schemas/def-6'
additionalProperties: true
example:
identifier: new-microservice
title: MyNewMicroservice
icon: Microservice
team: []
properties:
content: my content
relations: {}
parameters:
- schema:
type: boolean
default: false
in: query
name: upsert
required: true
description: If `true`, this call will override the entire entity/ies, if
it/they already exist/s.
- schema:
type: boolean
default: false
in: query
name: validation_only
required: false
description: If `true`, this call will only validate the entity/ies and return
the validation errors.
- schema:
type: boolean
default: false
in: query
name: create_missing_related_entities
required: false
description: If `true`, this call will also create missing related entities.
This
is useful when you want to create an entity and its related entities in
one call, or if you want to create an entity whose related entity does not
exist yet.
- schema:
type: boolean
default: false
in: query
name: merge
required: false
description: If `true` and `upsert` is also `true`, this call will update
the entity/ies, if it/they already exist/s.
- schema:
type: string
in: query
name: run_id
required: false
description: You can provide a `run_id` to associate the created entities
with a specific [action run](https://docs.port.io/create-self-service-experiences/reflect-action-progress/#tying-entities-to-an-action-run).
- schema:
type: string
in: query
name: ocean_info_resync_id
required: false
description: Resync run identifier. Only valid when `ocean_info_event_type`
is `resync`.
- schema:
type: string
enum:
- http_request
- resync
- start
in: query
name: ocean_info_event_type
required: false
description: How the operation was triggered.
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer: []
responses:
'201':
description: Created successfully.
content:
application/json:
schema:
description: Created successfully.
type: object
properties:
ok:
enum:
- true
entity:
type: object
properties:
identifier:
oneOf:
- type:
- string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: String identifier
description: The identifier of the entity.
- $ref: '#/components/schemas/def-5'
title: Search query
title:
type: string
description: The title of the entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- title: Team (Single)
type: string
description: The Port team/s to which the entity will belong.
- title: Teams (Multiple)
type: array
items:
type: string
description: The Port team/s to which the entity will belong.
- title: Additional query
$ref: '#/components/schemas/def-6'
properties:
type: object
default: {}
description: An object containing the properties of the entity,
in `"key":"value"` pairs where the `key` is the property's
identifier, and the `value` is its value.
relations:
type: object
description: An object containing the relations of the entity,
in `"key":"value"` pairs where the `key` is the relation's
identifier, and the `value` is the related entity's identifier
for single-relations, or an array of identifiers for many-relations.
You
can also use a [search query](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#mapping-relations-using-search-queries)
to define relations based on a property of the related entity.
additionalProperties:
anyOf:
- type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: string
- type: array
items:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
title: array
- type: 'null'
title: 'null'
- $ref: '#/components/schemas/def-6'
additionalProperties: false
required:
- entity
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
get:
summary: Get all entities of a blueprint
tags:
- Entities
description: This route allows you to fetch all entities in your software catalog
based on a given blueprint.
To learn more about entities, check out
the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
parameters:
- schema:
type: boolean
default: false
in: query
name: exclude_calculated_properties
required: false
description: If `true`, [calculated properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
will be excluded from the entities.
- schema:
type: array
items:
type: string
in: query
name: include
required: false
description: 'An array of values from the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure).
Only these values will be returned in the response.
For example: `{
"properties.propertyIdentifier","identifier"}`.'
- schema:
type: array
items:
type: string
in: query
name: exclude
required: false
description: 'An array of values from the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure)
to be ommitted from the response.
For example: `{ "properties.propertyIdentifier","identifier"}`'
- schema:
type: boolean
default: false
in: query
name: attach_title_to_relation
required: false
- schema:
type: boolean
default: false
in: query
name: attach_identifier_to_title_mirror_properties
required: false
- schema:
type: boolean
default: false
in: query
name: allow_partial_results
required: false
description: When enabled allows some of the blueprint searches to fail without
failing the full request.
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer:
- read:entities
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
description: Retrieved successfully.
type: object
properties:
ok:
enum:
- true
entities:
type: array
items:
type: object
properties:
identifier:
oneOf:
- type:
- string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: String identifier
description: The identifier of the entity.
- $ref: '#/components/schemas/def-5'
title: Search query
title:
type: string
description: The title of the entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- title: Team (Single)
type: string
description: The Port team/s to which the entity will
belong.
- title: Teams (Multiple)
type: array
items:
type: string
description: The Port team/s to which the entity will
belong.
- title: Additional query
$ref: '#/components/schemas/def-6'
properties:
type: object
default: {}
description: An object containing the properties of the
entity, in `"key":"value"` pairs where the `key` is the
property's identifier, and the `value` is its value.
relations:
type: object
description: An object containing the relations of the entity,
in `"key":"value"` pairs where the `key` is the relation's
identifier, and the `value` is the related entity's identifier
for single-relations, or an array of identifiers for many-relations.
You
can also use a [search query](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#mapping-relations-using-search-queries)
to define relations based on a property of the related
entity.
additionalProperties:
anyOf:
- type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: string
- type: array
items:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
title: array
- type: 'null'
title: 'null'
- $ref: '#/components/schemas/def-6'
additionalProperties: false
required:
- entities
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/blueprints/{blueprint_identifier}/entities/bulk:
post:
summary: Create multiple entities
tags:
- Entities
description: This route allows you to create multiple entities (No more than
20 entities per request) in your software catalog based on an existing blueprint
in your data model. It can also be used to overwrite or update existing entities.
To
learn more about entities, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
**Note:** A failure response does not necessarily mean that all entities failed.
A `207 Multi-Status` response indicates that some entities were successfully
created while others failed.
requestBody:
content:
application/json:
schema:
type: object
properties:
entities:
type: array
items:
type: object
properties:
identifier:
oneOf:
- type:
- string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: String identifier
description: The identifier of the entity.
- $ref: '#/components/schemas/def-5'
title: Search query
title:
type: string
description: The title of the entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- title: Team (Single)
type: string
description: The Port team/s to which the entity will belong.
- title: Teams (Multiple)
type: array
items:
type: string
description: The Port team/s to which the entity will belong.
- title: Additional query
$ref: '#/components/schemas/def-6'
properties:
type: object
default: {}
description: An object containing the properties of the entity,
in `"key":"value"` pairs where the `key` is the property's
identifier, and the `value` is its value.
relations:
type: object
description: An object containing the relations of the entity,
in `"key":"value"` pairs where the `key` is the relation's
identifier, and the `value` is the related entity's identifier
for single-relations, or an array of identifiers for many-relations.
You
can also use a [search query](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#mapping-relations-using-search-queries)
to define relations based on a property of the related entity.
additionalProperties:
anyOf:
- type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: string
- type: array
items:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
title: array
- type: 'null'
title: 'null'
- $ref: '#/components/schemas/def-6'
additionalProperties: true
description: Array of entities to create
minItems: 1
maxItems: 20
required:
- entities
additionalProperties: false
required: true
parameters:
- schema:
type: boolean
default: false
in: query
name: upsert
required: true
description: If `true`, this call will override the entire entity/ies, if
it/they already exist/s.
- schema:
type: boolean
default: false
in: query
name: validation_only
required: false
description: If `true`, this call will only validate the entity/ies and return
the validation errors.
- schema:
type: boolean
default: false
in: query
name: create_missing_related_entities
required: false
description: If `true`, this call will also create missing related entities.
This
is useful when you want to create an entity and its related entities in
one call, or if you want to create an entity whose related entity does not
exist yet.
- schema:
type: boolean
default: false
in: query
name: merge
required: false
description: If `true` and `upsert` is also `true`, this call will update
the entity/ies, if it/they already exist/s.
- schema:
type: string
in: query
name: run_id
required: false
description: You can provide a `run_id` to associate the created entities
with a specific [action run](https://docs.port.io/create-self-service-experiences/reflect-action-progress/#tying-entities-to-an-action-run).
- schema:
type: string
in: query
name: ocean_info_resync_id
required: false
description: Resync run identifier. Only valid when `ocean_info_event_type`
is `resync`.
- schema:
type: string
enum:
- http_request
- resync
- start
in: query
name: ocean_info_event_type
required: false
description: How the operation was triggered.
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer: []
responses:
'200':
description: Created successfully.
content:
application/json:
schema:
description: Created successfully.
type: object
properties:
ok:
type: boolean
maxBulkSize:
type: number
entities:
type: array
items:
type: object
properties:
created:
type: boolean
identifier:
type: string
index:
type: number
additionalData:
type: object
additionalProperties: true
required:
- created
- identifier
- index
errors:
type: array
items:
type: object
properties:
identifier:
type: string
index:
type: number
statusCode:
type: number
error:
type: string
message:
type: string
required:
- identifier
- index
- statusCode
- error
- message
description: Failed entities with error details
required:
- ok
- entities
- errors
- ok
additionalProperties: false
'207':
description: Partially created successfully. Some entities were created
while others failed.
content:
application/json:
schema:
description: Partially created successfully. Some entities were created
while others failed.
type: object
properties:
ok:
type: boolean
maxBulkSize:
type: number
entities:
type: array
items:
type: object
properties:
created:
type: boolean
identifier:
type: string
index:
type: number
additionalData:
type: object
additionalProperties: true
required:
- created
- identifier
- index
errors:
type: array
items:
type: object
properties:
identifier:
type: string
index:
type: number
statusCode:
type: number
error:
type: string
message:
type: string
required:
- identifier
- index
- statusCode
- error
- message
description: Failed entities with error details
required:
- ok
- entities
- errors
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/blueprints/{blueprint_identifier}/entities/{entity_identifier}:
patch:
summary: Update an entity
tags:
- Entities
description: This route allows you to edit a specific entity in your software
catalog and update its properties.
To learn more about entities,
check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type:
- string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
description: The identifier of the entity.
title:
type:
- string
- 'null'
description: The title of the entity.
icon:
type:
- string
- 'null'
description: The icon of the entity.
team:
oneOf:
- type:
- string
- 'null'
- type: array
items:
type: string
- $ref: '#/components/schemas/def-6'
description: The Port team/s to which the entity will belong.
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
description: An object containing the properties of the entity,
in `"key":"value"` pairs where the `key` is the property's identifier,
and the `value` is its value.
relations:
type: object
description: An object containing the relations of the entity, in
`"key":"value"` pairs where the `key` is the relation's identifier,
and the `value` is the related entity's identifier for single-relations,
or an array of identifiers for many-relations.
You can also
use a [search query](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#mapping-relations-using-search-queries)
to define relations based on a property of the related entity.
additionalProperties:
anyOf:
- type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
- type: array
items:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
- type: 'null'
- $ref: '#/components/schemas/def-6'
additionalProperties: false
parameters:
- schema:
type: boolean
default: false
in: query
name: create_missing_related_entities
required: false
description: If `true`, this call will also create missing related entities.
This
is useful when you want to create an entity and its related entities in
one call, or if you want to create an entity whose related entity does not
exist yet.
- schema:
type: string
in: query
name: run_id
required: false
description: You can provide a `run_id` to associate the created entities
with a specific [action run](https://docs.port.io/create-self-service-experiences/reflect-action-progress/#tying-entities-to-an-action-run).
- schema:
type: string
in: query
name: ocean_info_resync_id
required: false
description: Resync run identifier. Only valid when `ocean_info_event_type`
is `resync`.
- schema:
type: string
enum:
- http_request
- resync
- start
in: query
name: ocean_info_event_type
required: false
description: How the operation was triggered.
- schema:
type: string
minLength: 1
in: path
name: entity_identifier
required: true
description: The identifier of the entity to operate on.
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer: []
responses:
'200':
description: Updated successfully.
content:
application/json:
schema:
description: Updated successfully.
type: object
properties:
ok:
enum:
- true
entity:
type: object
properties:
identifier:
oneOf:
- type:
- string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: String identifier
description: The identifier of the entity.
- $ref: '#/components/schemas/def-5'
title: Search query
title:
type: string
description: The title of the entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- title: Team (Single)
type: string
description: The Port team/s to which the entity will belong.
- title: Teams (Multiple)
type: array
items:
type: string
description: The Port team/s to which the entity will belong.
- title: Additional query
$ref: '#/components/schemas/def-6'
properties:
type: object
default: {}
description: An object containing the properties of the entity,
in `"key":"value"` pairs where the `key` is the property's
identifier, and the `value` is its value.
relations:
type: object
description: An object containing the relations of the entity,
in `"key":"value"` pairs where the `key` is the relation's
identifier, and the `value` is the related entity's identifier
for single-relations, or an array of identifiers for many-relations.
You
can also use a [search query](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#mapping-relations-using-search-queries)
to define relations based on a property of the related entity.
additionalProperties:
anyOf:
- type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: string
- type: array
items:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
title: array
- type: 'null'
title: 'null'
- $ref: '#/components/schemas/def-6'
additionalProperties: false
required:
- entity
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
put:
summary: Change an entity
tags:
- Entities
description: This route allows you to edit a specific entity in your software
catalog and update its properties.
To learn more about entities,
check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type:
- string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
description: The identifier of the entity.
title:
type: string
description: The title of the entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- title: Team (Single)
type: string
description: The Port team/s to which the entity will belong.
- title: Teams (Multiple)
type: array
items:
type: string
description: The Port team/s to which the entity will belong.
- title: Additional query
$ref: '#/components/schemas/def-6'
description: The Port team/s to which the entity will belong.
properties:
type: object
default: {}
description: An object containing the properties of the entity,
in `"key":"value"` pairs where the `key` is the property's identifier,
and the `value` is its value.
relations:
type: object
description: An object containing the relations of the entity, in
`"key":"value"` pairs where the `key` is the relation's identifier,
and the `value` is the related entity's identifier for single-relations,
or an array of identifiers for many-relations.
You can also
use a [search query](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#mapping-relations-using-search-queries)
to define relations based on a property of the related entity.
additionalProperties:
anyOf:
- type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
- type: array
items:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
- type: 'null'
- $ref: '#/components/schemas/def-6'
additionalProperties: true
parameters:
- schema:
type: boolean
default: false
in: query
name: create_missing_related_entities
required: false
description: If `true`, this call will also create missing related entities.
This
is useful when you want to create an entity and its related entities in
one call, or if you want to create an entity whose related entity does not
exist yet.
- schema:
type: string
in: query
name: run_id
required: false
description: You can provide a `run_id` to associate the created entities
with a specific [action run](https://docs.port.io/create-self-service-experiences/reflect-action-progress/#tying-entities-to-an-action-run).
- schema:
type: string
in: query
name: ocean_info_resync_id
required: false
description: Resync run identifier. Only valid when `ocean_info_event_type`
is `resync`.
- schema:
type: string
enum:
- http_request
- resync
- start
in: query
name: ocean_info_event_type
required: false
description: How the operation was triggered.
- schema:
type: string
minLength: 1
in: path
name: entity_identifier
required: true
description: The identifier of the entity to operate on.
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer: []
responses:
'200':
description: Updated successfully.
content:
application/json:
schema:
description: Updated successfully.
type: object
properties:
ok:
enum:
- true
entity:
type: object
properties:
identifier:
oneOf:
- type:
- string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: String identifier
description: The identifier of the entity.
- $ref: '#/components/schemas/def-5'
title: Search query
title:
type: string
description: The title of the entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- title: Team (Single)
type: string
description: The Port team/s to which the entity will belong.
- title: Teams (Multiple)
type: array
items:
type: string
description: The Port team/s to which the entity will belong.
- title: Additional query
$ref: '#/components/schemas/def-6'
properties:
type: object
default: {}
description: An object containing the properties of the entity,
in `"key":"value"` pairs where the `key` is the property's
identifier, and the `value` is its value.
relations:
type: object
description: An object containing the relations of the entity,
in `"key":"value"` pairs where the `key` is the relation's
identifier, and the `value` is the related entity's identifier
for single-relations, or an array of identifiers for many-relations.
You
can also use a [search query](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#mapping-relations-using-search-queries)
to define relations based on a property of the related entity.
additionalProperties:
anyOf:
- type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: string
- type: array
items:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
title: array
- type: 'null'
title: 'null'
- $ref: '#/components/schemas/def-6'
additionalProperties: false
required:
- entity
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
get:
summary: Get an entity
tags:
- Entities
description: This route allows you to fetch a specific entity in your software
catalog.
To learn more about entities, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
parameters:
- schema:
type: boolean
default: false
in: query
name: exclude_calculated_properties
required: false
description: If `true`, [calculated properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
will be excluded from the entities.
- schema:
type: array
items:
type: string
in: query
name: include
required: false
description: 'An array of values from the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure).
Only these values will be returned in the response.
For example: `{
"properties.propertyIdentifier","identifier"}`.'
- schema:
type: array
items:
type: string
in: query
name: exclude
required: false
description: 'An array of values from the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure)
to be ommitted from the response.
For example: `{ "properties.propertyIdentifier","identifier"}`'
- schema:
type: boolean
default: false
in: query
name: attach_title_to_relation
required: false
- schema:
type: boolean
default: false
in: query
name: attach_identifier_to_title_mirror_properties
required: false
- schema:
type: boolean
default: false
in: query
name: allow_partial_results
required: false
description: When enabled allows some of the blueprint searches to fail without
failing the full request.
- schema:
type: string
minLength: 1
in: path
name: entity_identifier
required: true
description: The identifier of the entity to operate on.
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer:
- read:entities
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
description: Retrieved successfully.
type: object
properties:
ok:
enum:
- true
entity:
type: object
properties:
identifier:
oneOf:
- type:
- string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: String identifier
description: The identifier of the entity.
- $ref: '#/components/schemas/def-5'
title: Search query
title:
type: string
description: The title of the entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- title: Team (Single)
type: string
description: The Port team/s to which the entity will belong.
- title: Teams (Multiple)
type: array
items:
type: string
description: The Port team/s to which the entity will belong.
- title: Additional query
$ref: '#/components/schemas/def-6'
properties:
type: object
default: {}
description: An object containing the properties of the entity,
in `"key":"value"` pairs where the `key` is the property's
identifier, and the `value` is its value.
relations:
type: object
description: An object containing the relations of the entity,
in `"key":"value"` pairs where the `key` is the relation's
identifier, and the `value` is the related entity's identifier
for single-relations, or an array of identifiers for many-relations.
You
can also use a [search query](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#mapping-relations-using-search-queries)
to define relations based on a property of the related entity.
additionalProperties:
anyOf:
- type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: string
- type: array
items:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
title: array
- type: 'null'
title: 'null'
- $ref: '#/components/schemas/def-6'
additionalProperties: false
required:
- entity
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
delete:
summary: Delete an entity
tags:
- Entities
description: This route allows you to delete a specific entity in your software
catalog.
To learn more about entities, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
parameters:
- schema:
type: boolean
default: false
in: query
name: delete_dependents
required: true
description: If `true`, this call will also delete all entities with a relation
to the deleted entity.
- schema:
type: string
in: query
name: run_id
required: false
description: You can provide a `run_id` to associate the created entities
with a specific [action run](https://docs.port.io/create-self-service-experiences/reflect-action-progress/#tying-entities-to-an-action-run).
- schema:
type: string
in: query
name: ocean_info_resync_id
required: false
description: Resync run identifier. Only valid when `ocean_info_event_type`
is `resync`.
- schema:
type: string
enum:
- http_request
- resync
- start
in: query
name: ocean_info_event_type
required: false
description: How the operation was triggered.
- schema:
type: string
minLength: 1
in: path
name: entity_identifier
required: true
description: The identifier of the entity to operate on.
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer: []
responses:
'200':
description: Entities deleted successfully
content:
application/json:
schema:
description: Entities deleted successfully
properties:
ok:
enum:
- true
required:
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/blueprints/{blueprint_identifier}/entities-count:
get:
summary: Get a blueprint's entity count
tags:
- Entities
description: This route allows you to count the number of entities in a specific
blueprint in your software catalog.
To learn more about entities,
check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
parameters:
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer: []
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
description: Retrieved successfully.
properties:
ok:
enum:
- true
count:
type: number
required:
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/blueprints/{blueprint_identifier}/all-entities:
delete:
summary: Delete all entities of a blueprint
tags:
- Entities
description: This route allows you to delete all entities of a specific blueprint
in your software catalog.
To learn more about entities, check out
the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
parameters:
- schema:
type: string
in: query
name: run_id
required: false
description: You can provide a `run_id` to associate the deleted entities
with a specific [action run](https://docs.port.io/create-self-service-experiences/reflect-action-progress/#tying-entities-to-an-action-run).
- schema:
type: string
in: query
name: ocean_info_resync_id
required: false
description: Resync run identifier. Only valid when `ocean_info_event_type`
is `resync`.
- schema:
type: string
enum:
- http_request
- resync
- start
in: query
name: ocean_info_event_type
required: false
description: How the operation was triggered.
- schema:
type: boolean
in: query
name: delete_blueprint
required: false
description: If `true`, this call will also delete the blueprint itself.
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer: []
responses:
'200':
description: Entities deleted successfully
content:
application/json:
schema:
description: Entities deleted successfully
properties:
ok:
enum:
- true
required:
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/blueprints/{blueprint_identifier}/bulk/entities/delete:
post:
summary: Delete multiple entities
tags:
- Entities
description: This route allows you to delete multiple entities (up to 100 entities
per request) from a specific blueprint in your software catalog. All entities
must belong to the same blueprint.
If any entity has dependent entities
and delete_dependents is false, the entire operation will fail and no entities
will be deleted.
To learn more about entities, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
requestBody:
content:
application/json:
schema:
type: object
properties:
entities:
type: array
items:
type: string
description: Array of entity identifiers to delete
minItems: 1
maxItems: 100
required:
- entities
additionalProperties: false
required: true
parameters:
- schema:
type: boolean
default: false
in: query
name: delete_dependents
required: true
description: If `true`, this call will also delete all entities with a relation
to the deleted entity.
- schema:
type: string
in: query
name: run_id
required: false
description: You can provide a `run_id` to associate the created entities
with a specific [action run](https://docs.port.io/create-self-service-experiences/reflect-action-progress/#tying-entities-to-an-action-run).
- schema:
type: string
in: query
name: ocean_info_resync_id
required: false
description: Resync run identifier. Only valid when `ocean_info_event_type`
is `resync`.
- schema:
type: string
enum:
- http_request
- resync
- start
in: query
name: ocean_info_event_type
required: false
description: How the operation was triggered.
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer: []
responses:
'200':
description: Entities deleted successfully.
content:
application/json:
schema:
description: Entities deleted successfully.
type: object
properties:
ok:
enum:
- true
deletedEntities:
type: array
items:
type: string
description: Array of deleted entity IDs
maxBulkSize:
type: number
required:
- deletedEntities
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/entities/search:
post:
summary: Search entities
tags:
- Entities
description: This route allows you to search for entities in your software catalog
based on a given set of rules.
To learn more about entities, check
out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
For
more details about Port's search mechanism, rules, and operators - see the
[search & query documentation](https://docs.port.io/search-and-query/overview).
requestBody:
content:
application/json:
schema:
type: object
properties:
combinator:
enum:
- and
- or
description: The combinator to use for the rules.
rules:
type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
required:
- combinator
- rules
additionalProperties: false
example:
combinator: and
rules:
- property: $blueprint
operator: '='
value: service
- combinator: or
rules:
- property: environment
operator: '='
value: production
- property: environment
operator: '='
value: staging
required: true
parameters:
- schema:
type: boolean
default: false
in: query
name: exclude_calculated_properties
required: false
description: If `true`, [calculated properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
will be excluded from the entities.
- schema:
type: array
items:
type: string
in: query
name: include
required: false
description: 'An array of values from the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure).
Only these values will be returned in the response.
For example: `{
"properties.propertyIdentifier","identifier"}`.'
- schema:
type: array
items:
type: string
in: query
name: exclude
required: false
description: 'An array of values from the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure)
to be ommitted from the response.
For example: `{ "properties.propertyIdentifier","identifier"}`'
- schema:
type: boolean
default: false
in: query
name: attach_title_to_relation
required: false
- schema:
type: boolean
default: false
in: query
name: attach_identifier_to_title_mirror_properties
required: false
- schema:
type: boolean
default: false
in: query
name: allow_partial_results
required: false
description: When enabled allows some of the blueprint searches to fail without
failing the full request.
security:
- bearer:
- read:entities
responses:
'200':
description: Retrieved successfully (this response can be compressed).
content:
application/json:
schema:
description: Retrieved successfully (this response can be compressed).
type: object
properties:
ok:
enum:
- true
matchingBlueprints:
type: array
items:
type: string
failedBlueprints:
type: array
items:
type: string
entities:
type: array
items:
type: object
properties:
identifier:
oneOf:
- type:
- string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: String identifier
description: The identifier of the entity.
- $ref: '#/components/schemas/def-5'
title: Search query
title:
type: string
description: The title of the entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- title: Team (Single)
type: string
description: The Port team/s to which the entity will
belong.
- title: Teams (Multiple)
type: array
items:
type: string
description: The Port team/s to which the entity will
belong.
- title: Additional query
$ref: '#/components/schemas/def-6'
properties:
type: object
default: {}
description: An object containing the properties of the
entity, in `"key":"value"` pairs where the `key` is the
property's identifier, and the `value` is its value.
relations:
type: object
description: An object containing the relations of the entity,
in `"key":"value"` pairs where the `key` is the relation's
identifier, and the `value` is the related entity's identifier
for single-relations, or an array of identifiers for many-relations.
You
can also use a [search query](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#mapping-relations-using-search-queries)
to define relations based on a property of the related
entity.
additionalProperties:
anyOf:
- type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: string
- type: array
items:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
title: array
- type: 'null'
title: 'null'
- $ref: '#/components/schemas/def-6'
additionalProperties: false
required:
- entities
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/blueprints/{blueprint_identifier}/entities/search:
post:
summary: Search a blueprint's entities
tags:
- Entities
description: This route allows you to search your software catalog for a specific
blueprint's entities, based on a given set of rules.
The returned entities
are paginated for improved performance.
To learn more about entities,
check out the [entity documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
For
more details about Port's search mechanism, rules, and operators - see the
[search & query documentation](https://docs.port.io/search-and-query/overview).
requestBody:
content:
application/json:
schema:
type: object
properties:
query:
$ref: '#/components/schemas/def-7'
description: A [search query](https://docs.getport.io/search-and-query/overview)
used to filter the returned entities.
include:
type: array
items:
type: string
description: An array of [properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties)
and/or [relations](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/relations)
to include in the search, using their identifiers.
Note that
for [meta-properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/meta-properties)
(e.g. `$createdAt`, `$updatedAt`), the `$` prefix must be used.
exclude:
type: array
items:
type: string
description: An array of [properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties)
and/or [relations](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/relations)
to exclude from the search, using their identifiers.
Note
that for [meta-properties](https://docs.getport.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/meta-properties)
(e.g. `$createdAt`, `$updatedAt`), the `$` prefix must be used.
limit:
type: number
minimum: 1
maximum: 1000
default: 200
description: The maximum number of entities to return.
from:
type: string
description: A string hash of the `next` value that was returned
in the previous response. This is used to paginate through the
results.
additionalProperties: false
example:
query:
combinator: and
rules:
- property: $blueprint
operator: '='
value: service
- combinator: or
rules:
- property: environment
operator: '='
value: production
- property: environment
operator: '='
value: staging
include:
- $identifier
- $title
- $createdAt
parameters:
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint whose entities you want to search.
security:
- bearer:
- read:entities
responses:
'200':
description: Retrieved successfully (this response can be compressed).
content:
application/json:
schema:
description: Retrieved successfully (this response can be compressed).
type: object
properties:
ok:
type: boolean
next:
type: string
description: A string hash of the next page of results. This is
used to paginate through the results.
entities:
type: array
items:
type: object
properties:
identifier:
oneOf:
- type:
- string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: String identifier
description: The identifier of the entity.
- $ref: '#/components/schemas/def-5'
title: Search query
title:
type: string
description: The title of the entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- title: Team (Single)
type: string
description: The Port team/s to which the entity will
belong.
- title: Teams (Multiple)
type: array
items:
type: string
description: The Port team/s to which the entity will
belong.
- title: Additional query
$ref: '#/components/schemas/def-6'
properties:
type: object
default: {}
description: An object containing the properties of the
entity, in `"key":"value"` pairs where the `key` is the
property's identifier, and the `value` is its value.
relations:
type: object
description: An object containing the relations of the entity,
in `"key":"value"` pairs where the `key` is the relation's
identifier, and the `value` is the related entity's identifier
for single-relations, or an array of identifiers for many-relations.
You
can also use a [search query](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#mapping-relations-using-search-queries)
to define relations based on a property of the related
entity.
additionalProperties:
anyOf:
- type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: string
- type: array
items:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
title: array
- type: 'null'
title: 'null'
- $ref: '#/components/schemas/def-6'
additionalProperties: false
description: The entities that match the search query.
required:
- entities
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/entities/aggregate:
post:
summary: Aggregate entities
tags:
- Entities
description: This route allows you to perform an aggregation function on a blueprint's
entities based on a given set of rules.
To learn more about entities,
check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
For
more details about Port's search mechanism, rules, and operators - see the
[search & query documentation](https://docs.port.io/search-and-query/overview).
requestBody:
content:
application/json:
schema:
type: object
oneOf:
- type: object
title: Count entities
properties:
func:
type: string
enum:
- average
- count
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
measureTimeBy:
type: string
description: A property of type `datetime`, by which the average
will be calculated. Relevant only for the `average` function.
calculationBy:
type: string
query:
$ref: '#/components/schemas/def-1'
description: A [search query](https://docs.getport.io/search-and-query/overview)
used to filter the entities before the aggregation is calculated.
additionalProperties: false
required:
- func
- query
- type: object
title: Aggregate by property
properties:
property:
type: string
description: A property of type `number`, by which the aggregation
will be calculated.
func:
type: string
enum:
- sum
- average
- min
- max
- median
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
measureTimeBy:
type: string
description: A property of type `datetime`, by which the average
will be calculated. Relevant only for the `average` function.
calculationBy:
type: string
query:
$ref: '#/components/schemas/def-1'
description: A [search query](https://docs.getport.io/search-and-query/overview)
used to filter the entities before the aggregation is calculated.
additionalProperties: false
required:
- func
- property
- query
- type: object
title: Count values
oneOf:
- type: object
title: Group by property
properties:
func:
enum:
- countValues
query:
$ref: '#/components/schemas/def-1'
property:
type: string
required:
- func
- query
- property
additionalProperties: false
- type: object
title: Group by relation
properties:
func:
enum:
- countValues
query:
$ref: '#/components/schemas/def-1'
relation:
type: string
required:
- func
- query
- relation
additionalProperties: false
- type: object
title: Group by scorecard
properties:
func:
enum:
- countValues
query:
$ref: '#/components/schemas/def-1'
scorecard:
type: string
required:
- func
- query
- scorecard
additionalProperties: false
- type: object
title: Group by scorecard rule
properties:
func:
enum:
- countValues
query:
$ref: '#/components/schemas/def-1'
rule:
type: string
scorecard:
type: string
required:
- func
- query
- rule
- scorecard
additionalProperties: false
security:
- bearer:
- read:entities
responses:
'200':
description: Retrieved successfully (this response can be compressed).
content:
application/json:
schema:
description: Retrieved successfully (this response can be compressed).
type: object
properties:
ok:
enum:
- true
matchingBlueprints:
type: array
items:
type: string
failedBlueprints:
type: array
items:
type: string
entities:
type: array
items:
type: object
properties:
identifier:
oneOf:
- type:
- string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: String identifier
description: The identifier of the entity.
- $ref: '#/components/schemas/def-5'
title: Search query
title:
type: string
description: The title of the entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- title: Team (Single)
type: string
description: The Port team/s to which the entity will
belong.
- title: Teams (Multiple)
type: array
items:
type: string
description: The Port team/s to which the entity will
belong.
- title: Additional query
$ref: '#/components/schemas/def-6'
properties:
type: object
default: {}
description: An object containing the properties of the
entity, in `"key":"value"` pairs where the `key` is the
property's identifier, and the `value` is its value.
relations:
type: object
description: An object containing the relations of the entity,
in `"key":"value"` pairs where the `key` is the relation's
identifier, and the `value` is the related entity's identifier
for single-relations, or an array of identifiers for many-relations.
You
can also use a [search query](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#mapping-relations-using-search-queries)
to define relations based on a property of the related
entity.
additionalProperties:
anyOf:
- type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 1000
title: string
- type: array
items:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
title: array
- type: 'null'
title: 'null'
- $ref: '#/components/schemas/def-6'
additionalProperties: false
required:
- entities
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/entities/aggregate-over-time:
post:
summary: Aggregate entities over time
tags:
- Entities
description: This route allows you to perform an aggregation function on a blueprint's
entities over a given time range.
To learn more about entities, check
out the [entity documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
For
more details about Port's search mechanism, rules, and operators - see the
[search & query documentation](https://docs.port.io/search-and-query/overview).
requestBody:
content:
application/json:
schema:
type: object
required:
- blueprint
- timeRange
- timeInterval
- query
- measureTimeBy
- aggregationType
oneOf:
- title: Aggregate property
properties:
blueprint:
type: string
description: The blueprint whose entities you wish to aggregate.
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- specific
timeZone:
type: string
required:
- preset
additionalProperties: false
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
query:
$ref: '#/components/schemas/def-1'
description: A [search query](https://docs.getport.io/search-and-query/overview)
used to filter the entities before the aggregation is calculated.
measureTimeBy:
type: string
description: A property of type `datetime` by which the aggregation
will be calculated.
specificTimeRange:
type: array
items:
type: number
minItems: 2
maxItems: 2
description: A specific time range [min,max] to aggregate over.
If not provided, the time range will be used.
aggregationType:
enum:
- aggregatePropertiesValues
func:
type: string
enum:
- average
- sum
- min
- max
- median
- last
properties:
type: array
items:
type: string
description: A list of properties of type `number` on which the
aggregation will be calculated.
required:
- func
- properties
additionalProperties: false
allOf:
- if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- specific
required:
- timeRange
then:
type: object
properties:
specificTimeRange:
type: array
items:
type: number
minItems: 2
maxItems: 2
description: A specific time range [min,max] to aggregate
over. If not provided, the time range will be used.
required:
- specificTimeRange
- title: Count entities
properties:
blueprint:
type: string
description: The blueprint whose entities you wish to aggregate.
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- specific
timeZone:
type: string
required:
- preset
additionalProperties: false
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
query:
$ref: '#/components/schemas/def-1'
description: A [search query](https://docs.getport.io/search-and-query/overview)
used to filter the entities before the aggregation is calculated.
measureTimeBy:
type: string
description: A property of type `datetime` by which the aggregation
will be calculated.
specificTimeRange:
type: array
items:
type: number
minItems: 2
maxItems: 2
description: A specific time range [min,max] to aggregate over.
If not provided, the time range will be used.
aggregationType:
enum:
- countEntities
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
description: A blueprint's property by which you want to break
down the data.
required:
- func
additionalProperties: false
allOf:
- if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- specific
required:
- timeRange
then:
type: object
properties:
specificTimeRange:
type: array
items:
type: number
minItems: 2
maxItems: 2
description: A specific time range [min,max] to aggregate
over. If not provided, the time range will be used.
required:
- specificTimeRange
required: true
security:
- bearer:
- read:entities
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
description: Retrieved successfully.
type: object
properties:
ok:
enum:
- true
result:
type: object
properties:
minDate:
type: number
maxDate:
type: number
data:
type: array
items:
object:
type: object
properties:
date:
type: number
additionalProperties:
type: number
required:
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/entities/properties-history:
post:
summary: Fetch the history of an entity's properties
tags:
- Entities
description: This route allows you to retrieve historical values for a selected
list of an entity's properties over a given time range.
To learn
more about entities, check out the [entity documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#entities).
requestBody:
content:
application/json:
schema:
type: object
properties:
entityIdentifier:
type: string
description: The identifier of the entity you want to operate on.
blueprintIdentifier:
type: string
description: The identifier of the blueprint you want to operate
on.
propertyNames:
type: array
items:
type: string
description: An array of property names to fetch historical records
for.
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
timeZone:
type: string
enum:
- Africa/Abidjan
- Africa/Accra
- Africa/Addis_Ababa
- Africa/Algiers
- Africa/Asmera
- Africa/Bamako
- Africa/Bangui
- Africa/Banjul
- Africa/Bissau
- Africa/Blantyre
- Africa/Brazzaville
- Africa/Bujumbura
- Africa/Cairo
- Africa/Casablanca
- Africa/Ceuta
- Africa/Conakry
- Africa/Dakar
- Africa/Dar_es_Salaam
- Africa/Djibouti
- Africa/Douala
- Africa/El_Aaiun
- Africa/Freetown
- Africa/Gaborone
- Africa/Harare
- Africa/Johannesburg
- Africa/Juba
- Africa/Kampala
- Africa/Khartoum
- Africa/Kigali
- Africa/Kinshasa
- Africa/Lagos
- Africa/Libreville
- Africa/Lome
- Africa/Luanda
- Africa/Lubumbashi
- Africa/Lusaka
- Africa/Malabo
- Africa/Maputo
- Africa/Maseru
- Africa/Mbabane
- Africa/Mogadishu
- Africa/Monrovia
- Africa/Nairobi
- Africa/Ndjamena
- Africa/Niamey
- Africa/Nouakchott
- Africa/Ouagadougou
- Africa/Porto-Novo
- Africa/Sao_Tome
- Africa/Tripoli
- Africa/Tunis
- Africa/Windhoek
- America/Adak
- America/Anchorage
- America/Anguilla
- America/Antigua
- America/Araguaina
- America/Argentina/La_Rioja
- America/Argentina/Rio_Gallegos
- America/Argentina/Salta
- America/Argentina/San_Juan
- America/Argentina/San_Luis
- America/Argentina/Tucuman
- America/Argentina/Ushuaia
- America/Aruba
- America/Asuncion
- America/Bahia
- America/Bahia_Banderas
- America/Barbados
- America/Belem
- America/Belize
- America/Blanc-Sablon
- America/Boa_Vista
- America/Bogota
- America/Boise
- America/Buenos_Aires
- America/Cambridge_Bay
- America/Campo_Grande
- America/Cancun
- America/Caracas
- America/Catamarca
- America/Cayenne
- America/Cayman
- America/Chicago
- America/Chihuahua
- America/Ciudad_Juarez
- America/Coral_Harbour
- America/Cordoba
- America/Costa_Rica
- America/Coyhaique
- America/Creston
- America/Cuiaba
- America/Curacao
- America/Danmarkshavn
- America/Dawson
- America/Dawson_Creek
- America/Denver
- America/Detroit
- America/Dominica
- America/Edmonton
- America/Eirunepe
- America/El_Salvador
- America/Fort_Nelson
- America/Fortaleza
- America/Glace_Bay
- America/Godthab
- America/Goose_Bay
- America/Grand_Turk
- America/Grenada
- America/Guadeloupe
- America/Guatemala
- America/Guayaquil
- America/Guyana
- America/Halifax
- America/Havana
- America/Hermosillo
- America/Indiana/Knox
- America/Indiana/Marengo
- America/Indiana/Petersburg
- America/Indiana/Tell_City
- America/Indiana/Vevay
- America/Indiana/Vincennes
- America/Indiana/Winamac
- America/Indianapolis
- America/Inuvik
- America/Iqaluit
- America/Jamaica
- America/Jujuy
- America/Juneau
- America/Kentucky/Monticello
- America/Kralendijk
- America/La_Paz
- America/Lima
- America/Los_Angeles
- America/Louisville
- America/Lower_Princes
- America/Maceio
- America/Managua
- America/Manaus
- America/Marigot
- America/Martinique
- America/Matamoros
- America/Mazatlan
- America/Mendoza
- America/Menominee
- America/Merida
- America/Metlakatla
- America/Mexico_City
- America/Miquelon
- America/Moncton
- America/Monterrey
- America/Montevideo
- America/Montserrat
- America/Nassau
- America/New_York
- America/Nome
- America/Noronha
- America/North_Dakota/Beulah
- America/North_Dakota/Center
- America/North_Dakota/New_Salem
- America/Ojinaga
- America/Panama
- America/Paramaribo
- America/Phoenix
- America/Port-au-Prince
- America/Port_of_Spain
- America/Porto_Velho
- America/Puerto_Rico
- America/Punta_Arenas
- America/Rankin_Inlet
- America/Recife
- America/Regina
- America/Resolute
- America/Rio_Branco
- America/Santarem
- America/Santiago
- America/Santo_Domingo
- America/Sao_Paulo
- America/Scoresbysund
- America/Sitka
- America/St_Barthelemy
- America/St_Johns
- America/St_Kitts
- America/St_Lucia
- America/St_Thomas
- America/St_Vincent
- America/Swift_Current
- America/Tegucigalpa
- America/Thule
- America/Tijuana
- America/Toronto
- America/Tortola
- America/Vancouver
- America/Whitehorse
- America/Winnipeg
- America/Yakutat
- Antarctica/Casey
- Antarctica/Davis
- Antarctica/DumontDUrville
- Antarctica/Macquarie
- Antarctica/Mawson
- Antarctica/McMurdo
- Antarctica/Palmer
- Antarctica/Rothera
- Antarctica/Syowa
- Antarctica/Troll
- Antarctica/Vostok
- Arctic/Longyearbyen
- Asia/Aden
- Asia/Almaty
- Asia/Amman
- Asia/Anadyr
- Asia/Aqtau
- Asia/Aqtobe
- Asia/Ashgabat
- Asia/Atyrau
- Asia/Baghdad
- Asia/Bahrain
- Asia/Baku
- Asia/Bangkok
- Asia/Barnaul
- Asia/Beirut
- Asia/Bishkek
- Asia/Brunei
- Asia/Calcutta
- Asia/Chita
- Asia/Colombo
- Asia/Damascus
- Asia/Dhaka
- Asia/Dili
- Asia/Dubai
- Asia/Dushanbe
- Asia/Famagusta
- Asia/Gaza
- Asia/Hebron
- Asia/Hong_Kong
- Asia/Hovd
- Asia/Irkutsk
- Asia/Jakarta
- Asia/Jayapura
- Asia/Jerusalem
- Asia/Kabul
- Asia/Kamchatka
- Asia/Karachi
- Asia/Katmandu
- Asia/Khandyga
- Asia/Krasnoyarsk
- Asia/Kuala_Lumpur
- Asia/Kuching
- Asia/Kuwait
- Asia/Macau
- Asia/Magadan
- Asia/Makassar
- Asia/Manila
- Asia/Muscat
- Asia/Nicosia
- Asia/Novokuznetsk
- Asia/Novosibirsk
- Asia/Omsk
- Asia/Oral
- Asia/Phnom_Penh
- Asia/Pontianak
- Asia/Pyongyang
- Asia/Qatar
- Asia/Qostanay
- Asia/Qyzylorda
- Asia/Rangoon
- Asia/Riyadh
- Asia/Saigon
- Asia/Sakhalin
- Asia/Samarkand
- Asia/Seoul
- Asia/Shanghai
- Asia/Singapore
- Asia/Srednekolymsk
- Asia/Taipei
- Asia/Tashkent
- Asia/Tbilisi
- Asia/Tehran
- Asia/Thimphu
- Asia/Tokyo
- Asia/Tomsk
- Asia/Ulaanbaatar
- Asia/Urumqi
- Asia/Ust-Nera
- Asia/Vientiane
- Asia/Vladivostok
- Asia/Yakutsk
- Asia/Yekaterinburg
- Asia/Yerevan
- Atlantic/Azores
- Atlantic/Bermuda
- Atlantic/Canary
- Atlantic/Cape_Verde
- Atlantic/Faeroe
- Atlantic/Madeira
- Atlantic/Reykjavik
- Atlantic/South_Georgia
- Atlantic/St_Helena
- Atlantic/Stanley
- Australia/Adelaide
- Australia/Brisbane
- Australia/Broken_Hill
- Australia/Darwin
- Australia/Eucla
- Australia/Hobart
- Australia/Lindeman
- Australia/Lord_Howe
- Australia/Melbourne
- Australia/Perth
- Australia/Sydney
- Europe/Amsterdam
- Europe/Andorra
- Europe/Astrakhan
- Europe/Athens
- Europe/Belgrade
- Europe/Berlin
- Europe/Bratislava
- Europe/Brussels
- Europe/Bucharest
- Europe/Budapest
- Europe/Busingen
- Europe/Chisinau
- Europe/Copenhagen
- Europe/Dublin
- Europe/Gibraltar
- Europe/Guernsey
- Europe/Helsinki
- Europe/Isle_of_Man
- Europe/Istanbul
- Europe/Jersey
- Europe/Kaliningrad
- Europe/Kiev
- Europe/Kirov
- Europe/Lisbon
- Europe/Ljubljana
- Europe/London
- Europe/Luxembourg
- Europe/Madrid
- Europe/Malta
- Europe/Mariehamn
- Europe/Minsk
- Europe/Monaco
- Europe/Moscow
- Europe/Oslo
- Europe/Paris
- Europe/Podgorica
- Europe/Prague
- Europe/Riga
- Europe/Rome
- Europe/Samara
- Europe/San_Marino
- Europe/Sarajevo
- Europe/Saratov
- Europe/Simferopol
- Europe/Skopje
- Europe/Sofia
- Europe/Stockholm
- Europe/Tallinn
- Europe/Tirane
- Europe/Ulyanovsk
- Europe/Vaduz
- Europe/Vatican
- Europe/Vienna
- Europe/Vilnius
- Europe/Volgograd
- Europe/Warsaw
- Europe/Zagreb
- Europe/Zurich
- Indian/Antananarivo
- Indian/Chagos
- Indian/Christmas
- Indian/Cocos
- Indian/Comoro
- Indian/Kerguelen
- Indian/Mahe
- Indian/Maldives
- Indian/Mauritius
- Indian/Mayotte
- Indian/Reunion
- Pacific/Apia
- Pacific/Auckland
- Pacific/Bougainville
- Pacific/Chatham
- Pacific/Easter
- Pacific/Efate
- Pacific/Enderbury
- Pacific/Fakaofo
- Pacific/Fiji
- Pacific/Funafuti
- Pacific/Galapagos
- Pacific/Gambier
- Pacific/Guadalcanal
- Pacific/Guam
- Pacific/Honolulu
- Pacific/Kiritimati
- Pacific/Kosrae
- Pacific/Kwajalein
- Pacific/Majuro
- Pacific/Marquesas
- Pacific/Midway
- Pacific/Nauru
- Pacific/Niue
- Pacific/Norfolk
- Pacific/Noumea
- Pacific/Pago_Pago
- Pacific/Palau
- Pacific/Pitcairn
- Pacific/Ponape
- Pacific/Port_Moresby
- Pacific/Rarotonga
- Pacific/Saipan
- Pacific/Tahiti
- Pacific/Tarawa
- Pacific/Tongatapu
- Pacific/Truk
- Pacific/Wake
- Pacific/Wallis
required:
- preset
- timeZone
additionalProperties: false
additionalProperties: false
required:
- entityIdentifier
- blueprintIdentifier
- propertyNames
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
required: true
security:
- bearer:
- read:entities
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
description: Retrieved successfully.
properties:
ok:
enum:
- true
result:
type: object
properties:
minDate:
type: number
maxDate:
type: number
data:
type: array
items:
type: number
required:
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/blueprints:
get:
summary: Get all blueprints
tags:
- Blueprints
description: This route allows you to fetch all blueprints in your Port account.
To
learn more about blueprints, check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/).
security:
- bearer:
- read:blueprints
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
description: Retrieved successfully.
type: object
properties:
ok:
enum:
- true
blueprints:
type: array
items:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
maxLength: 100
description: The identifier of the blueprint.
title:
type: string
maxLength: 100
minLength: 1
description: The title of the blueprint.
description:
type: string
maxLength: 200
description: The description of the blueprint.
icon:
type: string
description: The icon of the blueprint.
ownership:
anyOf:
- type: object
title: Inherited
description: Ownership of the blueprint's entities will
be inherited from a different related blueprint with
`Direct` ownership.
properties:
type:
type: string
enum:
- Inherited
path:
type: string
description: The `path` key is a dot-separated path
of relation identifiers that lead to the desired
blueprint.
title:
type: string
maxLength: 100
description: The title of the ownership property.
The default value is `Owning teams`.
additionalProperties: false
required:
- type
- path
- type: object
title: Direct
description: Ownership of the blueprint's entities will
be defined by a hidden **relation** to the `Team` blueprint.
properties:
type:
type: string
enum:
- Direct
title:
type: string
maxLength: 100
description: The title of the ownership property.
The default value is `Owning teams`.
additionalProperties: false
required:
- type
schema:
type: object
description: The schema of the blueprint, see `properties`
and `required` below for more information.
properties:
properties:
type: object
description: 'The properties of the blueprint.
Each property identifier can be `<= 100 characters`
long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The [type](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- blueprints
- team
- timer
- proto
- labeled-url
description: The type's [format](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties).
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time
properties. Only applicable when format is 'date-time'.
Defaults to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The [spec](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
specAuthentication:
type: object
description: When using the `spec` property with
`embedded-url`, the authentication spec of the
property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
required:
- type
required:
type: array
items:
type: string
description: The required properties of the blueprint,
these must be provided when creating an entity based
on this blueprint. This is an array of the required
properties' identifiers.
additionalProperties: false
required:
- properties
calculationProperties:
type: object
description: 'The [calculation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
of the blueprint.
Each calculation property identifier
can be `<= 100 characters` long, values must match the
following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
additionalProperties: false
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
calculation:
type: string
description: The JQ expression that calculates the
value of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- proto
- labeled-url
description: The format of the property.
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time calculation
properties. Only applicable when format is 'date-time'.
Defaults to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The spec of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
colorized:
type: boolean
description: Whether the property is colorized.
colors:
type: object
description: When using the `colorized` property,
the colors of the property.
additionalProperties:
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
items:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the item.
format:
description: The format of the item.
enum:
- date-time
- url
- email
- idn-format
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- timer
- proto
- labeled-url
required:
- calculation
- type
mirrorProperties:
type: object
description: 'The [mirror properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/)
of the blueprint.
Each mirror property identifier
can be `<= 100 characters` long, values must match the
following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
path:
type: string
pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots, the last identifier is the property
identifier.
title:
type: string
maxLength: 100
description: The title of the property.
additionalProperties: false
required:
- path
aggregationProperties:
type: object
description: 'The [aggregation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/)
of the blueprint.
Each aggregation property identifier
can be `<= 100 characters` long, values must match the
following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- number
default: number
description: The type of the property. This is the
type of the aggregation result.
target:
type: string
description: The blueprint identifier to run the aggregation
on.
calculationSpec:
type: object
oneOf:
- oneOf:
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- count
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
additionalProperties: false
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for
the aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
- averageOf
additionalProperties: false
- oneOf:
- type: object
properties:
func:
type: string
enum:
- sum
- min
- max
- median
description: The function to use for the aggregation.
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for
the aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- averageOf
description: The calculation spec of the property.
query:
$ref: '#/components/schemas/def-1'
pathFilter:
type: array
description: Optional filter to run the aggregation
on entities that are connected through a specific
path. When empty will use all the related entities
from all possible paths
maxItems: 1
items:
type: object
properties:
path:
description: The path to the property in the
related blueprint. This is a string of relation
identifiers separated by dots.
type: array
items:
type: string
minItems: 1
fromBlueprint:
type: string
required:
- path
additionalProperties: false
additionalProperties: false
required:
- title
- target
- calculationSpec
relations:
type: object
description: 'The [relations](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/)
of the blueprint.
Each relation identifier can be
`<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
target:
type: string
required:
type: boolean
default: false
many:
type: boolean
default: false
description:
type: string
type:
type: string
additionalProperties: false
required:
- target
- required
- many
includeInGlobalSearch:
type:
- boolean
- 'null'
description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault
setting. When set, controls whether entities of this blueprint
appear in global search results. Set to null to clear
the override.
changelogDestination:
description: The destination of the blueprint's changelog.
oneOf:
- type: object
title: Webhook
description: The changelog will be sent to the specified
webhook.
properties:
type:
type: string
enum:
- WEBHOOK
agent:
type: boolean
description: If `true`, Port's execution agent will
be used to send the changelog.
url:
type: string
description: The URL of the webhook.
format: uri
required:
- url
- type
additionalProperties: false
- type: object
title: Kafka
description: The changelog will be sent to the Kafka topic
connected to your Port account.
properties:
type:
type: string
enum:
- KAFKA
required:
- type
additionalProperties: false
updatedBy:
type: string
createdBy:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- identifier
- title
- schema
- createdBy
- updatedBy
- createdAt
- updatedAt
required:
- blueprints
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
post:
summary: Create a blueprint
tags:
- Blueprints
description: This route allows you to create a new blueprint in your data model.
To
learn more about blueprints, check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
maxLength: 100
description: The identifier of the blueprint.
title:
type: string
maxLength: 100
minLength: 1
description: The title of the blueprint.
description:
type: string
maxLength: 200
description: The description of the blueprint.
icon:
type: string
description: The icon of the blueprint.
ownership:
anyOf:
- type: object
title: Inherited
description: Ownership of the blueprint's entities will be inherited
from a different related blueprint with `Direct` ownership.
properties:
type:
type: string
enum:
- Inherited
path:
type: string
description: The `path` key is a dot-separated path of relation
identifiers that lead to the desired blueprint.
title:
type: string
maxLength: 100
description: The title of the ownership property. The default
value is `Owning teams`.
additionalProperties: false
required:
- type
- path
- type: object
title: Direct
description: Ownership of the blueprint's entities will be defined
by a hidden **relation** to the `Team` blueprint.
properties:
type:
type: string
enum:
- Direct
title:
type: string
maxLength: 100
description: The title of the ownership property. The default
value is `Owning teams`.
additionalProperties: false
required:
- type
schema:
type: object
description: The schema of the blueprint, see `properties` and `required`
below for more information.
properties:
properties:
type: object
description: 'The properties of the blueprint.
Each property
identifier can be `<= 100 characters` long, values must match
the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The [type](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- blueprints
- team
- timer
- proto
- labeled-url
description: The type's [format](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties).
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time properties.
Only applicable when format is 'date-time'. Defaults
to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The [spec](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
required:
- type
required:
type: array
items:
type: string
description: The required properties of the blueprint, these
must be provided when creating an entity based on this blueprint.
This is an array of the required properties' identifiers.
additionalProperties: false
required:
- properties
calculationProperties:
type: object
description: 'The [calculation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
of the blueprint.
Each calculation property identifier can
be `<= 100 characters` long, values must match the following pattern:
`^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
additionalProperties: false
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
calculation:
type: string
description: The JQ expression that calculates the value of
the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- proto
- labeled-url
description: The format of the property.
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time calculation
properties. Only applicable when format is 'date-time'.
Defaults to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The spec of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
colorized:
type: boolean
description: Whether the property is colorized.
colors:
type: object
description: When using the `colorized` property, the colors
of the property.
additionalProperties:
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
items:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the item.
format:
description: The format of the item.
enum:
- date-time
- url
- email
- idn-format
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- timer
- proto
- labeled-url
required:
- calculation
- type
mirrorProperties:
type: object
description: 'The [mirror properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/)
of the blueprint.
Each mirror property identifier can be
`<= 100 characters` long, values must match the following pattern:
`^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
path:
type: string
pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
description: The path to the property in the related blueprint.
This is a string of relation identifiers separated by dots,
the last identifier is the property identifier.
title:
type: string
maxLength: 100
description: The title of the property.
additionalProperties: false
required:
- path
aggregationProperties:
type: object
description: 'The [aggregation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/)
of the blueprint.
Each aggregation property identifier can
be `<= 100 characters` long, values must match the following pattern:
`^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- number
default: number
description: The type of the property. This is the type of
the aggregation result.
target:
type: string
description: The blueprint identifier to run the aggregation
on.
calculationSpec:
type: object
oneOf:
- oneOf:
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- count
calculationBy:
type: string
description: Whether to aggregate by entities or properties.
enum:
- entities
required:
- func
- calculationBy
additionalProperties: false
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
calculationBy:
type: string
description: Whether to aggregate by entities or properties.
enum:
- entities
required:
- func
- calculationBy
- averageOf
additionalProperties: false
- oneOf:
- type: object
properties:
func:
type: string
enum:
- sum
- min
- max
- median
description: The function to use for the aggregation.
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- averageOf
description: The calculation spec of the property.
query:
$ref: '#/components/schemas/def-1'
pathFilter:
type: array
description: Optional filter to run the aggregation on entities
that are connected through a specific path. When empty will
use all the related entities from all possible paths
maxItems: 1
items:
type: object
properties:
path:
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots.
type: array
items:
type: string
minItems: 1
fromBlueprint:
type: string
required:
- path
additionalProperties: false
additionalProperties: false
required:
- title
- target
- calculationSpec
relations:
type: object
description: 'The [relations](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/)
of the blueprint.
Each relation identifier can be `<= 100
characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
target:
type: string
required:
type: boolean
default: false
many:
type: boolean
default: false
description:
type: string
type:
type: string
additionalProperties: false
required:
- target
- required
- many
includeInGlobalSearch:
type:
- boolean
- 'null'
description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault
setting. When set, controls whether entities of this blueprint
appear in global search results. Set to null to clear the override.
changelogDestination:
description: The destination of the blueprint's changelog.
oneOf:
- type: object
title: Webhook
description: The changelog will be sent to the specified webhook.
properties:
type:
type: string
enum:
- WEBHOOK
agent:
type: boolean
description: If `true`, Port's execution agent will be used
to send the changelog.
url:
type: string
description: The URL of the webhook.
format: uri
required:
- url
- type
additionalProperties: false
- type: object
title: Kafka
description: The changelog will be sent to the Kafka topic connected
to your Port account.
properties:
type:
type: string
enum:
- KAFKA
required:
- type
additionalProperties: false
additionalProperties: true
required:
- identifier
- title
- schema
required: true
parameters:
- schema:
type: boolean
default: true
in: query
name: create_catalog_page
required: false
description: If true, a catalog page will be created for this blueprint
security:
- bearer:
- create:blueprints
responses:
'201':
description: Created successfully.
content:
application/json:
schema:
description: Created successfully.
type: object
properties:
ok:
enum:
- true
blueprint:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
maxLength: 100
description: The identifier of the blueprint.
title:
type: string
maxLength: 100
minLength: 1
description: The title of the blueprint.
description:
type: string
maxLength: 200
description: The description of the blueprint.
icon:
type: string
description: The icon of the blueprint.
ownership:
anyOf:
- type: object
title: Inherited
description: Ownership of the blueprint's entities will
be inherited from a different related blueprint with `Direct`
ownership.
properties:
type:
type: string
enum:
- Inherited
path:
type: string
description: The `path` key is a dot-separated path
of relation identifiers that lead to the desired blueprint.
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
- path
- type: object
title: Direct
description: Ownership of the blueprint's entities will
be defined by a hidden **relation** to the `Team` blueprint.
properties:
type:
type: string
enum:
- Direct
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
schema:
type: object
description: The schema of the blueprint, see `properties`
and `required` below for more information.
properties:
properties:
type: object
description: 'The properties of the blueprint.
Each
property identifier can be `<= 100 characters` long,
values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The [type](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- blueprints
- team
- timer
- proto
- labeled-url
description: The type's [format](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties).
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time properties.
Only applicable when format is 'date-time'. Defaults
to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The [spec](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
specAuthentication:
type: object
description: When using the `spec` property with
`embedded-url`, the authentication spec of the
property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
required:
- type
required:
type: array
items:
type: string
description: The required properties of the blueprint,
these must be provided when creating an entity based
on this blueprint. This is an array of the required
properties' identifiers.
additionalProperties: false
required:
- properties
calculationProperties:
type: object
description: 'The [calculation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
of the blueprint.
Each calculation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
additionalProperties: false
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
calculation:
type: string
description: The JQ expression that calculates the value
of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- proto
- labeled-url
description: The format of the property.
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time calculation
properties. Only applicable when format is 'date-time'.
Defaults to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The spec of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
colorized:
type: boolean
description: Whether the property is colorized.
colors:
type: object
description: When using the `colorized` property, the
colors of the property.
additionalProperties:
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
items:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the item.
format:
description: The format of the item.
enum:
- date-time
- url
- email
- idn-format
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- timer
- proto
- labeled-url
required:
- calculation
- type
mirrorProperties:
type: object
description: 'The [mirror properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/)
of the blueprint.
Each mirror property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
path:
type: string
pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots, the last identifier is the property
identifier.
title:
type: string
maxLength: 100
description: The title of the property.
additionalProperties: false
required:
- path
aggregationProperties:
type: object
description: 'The [aggregation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/)
of the blueprint.
Each aggregation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- number
default: number
description: The type of the property. This is the type
of the aggregation result.
target:
type: string
description: The blueprint identifier to run the aggregation
on.
calculationSpec:
type: object
oneOf:
- oneOf:
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- count
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
additionalProperties: false
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
- averageOf
additionalProperties: false
- oneOf:
- type: object
properties:
func:
type: string
enum:
- sum
- min
- max
- median
description: The function to use for the aggregation.
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- averageOf
description: The calculation spec of the property.
query:
$ref: '#/components/schemas/def-1'
pathFilter:
type: array
description: Optional filter to run the aggregation
on entities that are connected through a specific
path. When empty will use all the related entities
from all possible paths
maxItems: 1
items:
type: object
properties:
path:
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots.
type: array
items:
type: string
minItems: 1
fromBlueprint:
type: string
required:
- path
additionalProperties: false
additionalProperties: false
required:
- title
- target
- calculationSpec
relations:
type: object
description: 'The [relations](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/)
of the blueprint.
Each relation identifier can be
`<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
target:
type: string
required:
type: boolean
default: false
many:
type: boolean
default: false
description:
type: string
type:
type: string
additionalProperties: false
required:
- target
- required
- many
includeInGlobalSearch:
type:
- boolean
- 'null'
description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault
setting. When set, controls whether entities of this blueprint
appear in global search results. Set to null to clear the
override.
changelogDestination:
description: The destination of the blueprint's changelog.
oneOf:
- type: object
title: Webhook
description: The changelog will be sent to the specified
webhook.
properties:
type:
type: string
enum:
- WEBHOOK
agent:
type: boolean
description: If `true`, Port's execution agent will
be used to send the changelog.
url:
type: string
description: The URL of the webhook.
format: uri
required:
- url
- type
additionalProperties: false
- type: object
title: Kafka
description: The changelog will be sent to the Kafka topic
connected to your Port account.
properties:
type:
type: string
enum:
- KAFKA
required:
- type
additionalProperties: false
updatedBy:
type: string
createdBy:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- identifier
- title
- schema
- createdBy
- updatedBy
- createdAt
- updatedAt
required:
- blueprint
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/blueprints/{identifier}:
get:
summary: Get a blueprint
tags:
- Blueprints
description: This route allows you to fetch a specific blueprint in your Port
account.
To learn more about blueprints, check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/).
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer:
- read:blueprints
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
description: Retrieved successfully.
type: object
properties:
ok:
enum:
- true
blueprint:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
maxLength: 100
description: The identifier of the blueprint.
title:
type: string
maxLength: 100
minLength: 1
description: The title of the blueprint.
description:
type: string
maxLength: 200
description: The description of the blueprint.
icon:
type: string
description: The icon of the blueprint.
ownership:
anyOf:
- type: object
title: Inherited
description: Ownership of the blueprint's entities will
be inherited from a different related blueprint with `Direct`
ownership.
properties:
type:
type: string
enum:
- Inherited
path:
type: string
description: The `path` key is a dot-separated path
of relation identifiers that lead to the desired blueprint.
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
- path
- type: object
title: Direct
description: Ownership of the blueprint's entities will
be defined by a hidden **relation** to the `Team` blueprint.
properties:
type:
type: string
enum:
- Direct
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
schema:
type: object
description: The schema of the blueprint, see `properties`
and `required` below for more information.
properties:
properties:
type: object
description: 'The properties of the blueprint.
Each
property identifier can be `<= 100 characters` long,
values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The [type](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- blueprints
- team
- timer
- proto
- labeled-url
description: The type's [format](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties).
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time properties.
Only applicable when format is 'date-time'. Defaults
to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The [spec](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
specAuthentication:
type: object
description: When using the `spec` property with
`embedded-url`, the authentication spec of the
property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
required:
- type
required:
type: array
items:
type: string
description: The required properties of the blueprint,
these must be provided when creating an entity based
on this blueprint. This is an array of the required
properties' identifiers.
additionalProperties: false
required:
- properties
calculationProperties:
type: object
description: 'The [calculation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
of the blueprint.
Each calculation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
additionalProperties: false
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
calculation:
type: string
description: The JQ expression that calculates the value
of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- proto
- labeled-url
description: The format of the property.
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time calculation
properties. Only applicable when format is 'date-time'.
Defaults to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The spec of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
colorized:
type: boolean
description: Whether the property is colorized.
colors:
type: object
description: When using the `colorized` property, the
colors of the property.
additionalProperties:
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
items:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the item.
format:
description: The format of the item.
enum:
- date-time
- url
- email
- idn-format
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- timer
- proto
- labeled-url
required:
- calculation
- type
mirrorProperties:
type: object
description: 'The [mirror properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/)
of the blueprint.
Each mirror property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
path:
type: string
pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots, the last identifier is the property
identifier.
title:
type: string
maxLength: 100
description: The title of the property.
additionalProperties: false
required:
- path
aggregationProperties:
type: object
description: 'The [aggregation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/)
of the blueprint.
Each aggregation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- number
default: number
description: The type of the property. This is the type
of the aggregation result.
target:
type: string
description: The blueprint identifier to run the aggregation
on.
calculationSpec:
type: object
oneOf:
- oneOf:
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- count
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
additionalProperties: false
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
- averageOf
additionalProperties: false
- oneOf:
- type: object
properties:
func:
type: string
enum:
- sum
- min
- max
- median
description: The function to use for the aggregation.
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- averageOf
description: The calculation spec of the property.
query:
$ref: '#/components/schemas/def-1'
pathFilter:
type: array
description: Optional filter to run the aggregation
on entities that are connected through a specific
path. When empty will use all the related entities
from all possible paths
maxItems: 1
items:
type: object
properties:
path:
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots.
type: array
items:
type: string
minItems: 1
fromBlueprint:
type: string
required:
- path
additionalProperties: false
additionalProperties: false
required:
- title
- target
- calculationSpec
relations:
type: object
description: 'The [relations](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/)
of the blueprint.
Each relation identifier can be
`<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
target:
type: string
required:
type: boolean
default: false
many:
type: boolean
default: false
description:
type: string
type:
type: string
additionalProperties: false
required:
- target
- required
- many
includeInGlobalSearch:
type:
- boolean
- 'null'
description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault
setting. When set, controls whether entities of this blueprint
appear in global search results. Set to null to clear the
override.
changelogDestination:
description: The destination of the blueprint's changelog.
oneOf:
- type: object
title: Webhook
description: The changelog will be sent to the specified
webhook.
properties:
type:
type: string
enum:
- WEBHOOK
agent:
type: boolean
description: If `true`, Port's execution agent will
be used to send the changelog.
url:
type: string
description: The URL of the webhook.
format: uri
required:
- url
- type
additionalProperties: false
- type: object
title: Kafka
description: The changelog will be sent to the Kafka topic
connected to your Port account.
properties:
type:
type: string
enum:
- KAFKA
required:
- type
additionalProperties: false
updatedBy:
type: string
createdBy:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- identifier
- title
- schema
- createdBy
- updatedBy
- createdAt
- updatedAt
required:
- blueprint
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
put:
summary: Change a blueprint
tags:
- Blueprints
description: This route allows you to change a specific blueprint in your Port
account.
To learn more about blueprints, check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/).
**Modifying
system blueprints**
System blueprints (such as `_team`, `_user`, etc.)
are managed by Port and their schemas may change over time. It is recommended
to use the [PATCH route](https://docs.port.io/api-reference/update-a-blueprint)
to update specific fields instead of replacing the entire schema.
If you
do use `PUT`, always [fetch the latest version](https://docs.port.io/api-reference/get-a-blueprint)
first and apply your changes on top of it. Sending a stale or incomplete schema
will result in a `422` error.
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
maxLength: 100
description: The identifier of the blueprint.
title:
type: string
maxLength: 100
minLength: 1
description: The title of the blueprint.
description:
type: string
maxLength: 200
description: The description of the blueprint.
icon:
type: string
description: The icon of the blueprint.
ownership:
anyOf:
- type: object
title: Inherited
description: Ownership of the blueprint's entities will be inherited
from a different related blueprint with `Direct` ownership.
properties:
type:
type: string
enum:
- Inherited
path:
type: string
description: The `path` key is a dot-separated path of relation
identifiers that lead to the desired blueprint.
title:
type: string
maxLength: 100
description: The title of the ownership property. The default
value is `Owning teams`.
additionalProperties: false
required:
- type
- path
- type: object
title: Direct
description: Ownership of the blueprint's entities will be defined
by a hidden **relation** to the `Team` blueprint.
properties:
type:
type: string
enum:
- Direct
title:
type: string
maxLength: 100
description: The title of the ownership property. The default
value is `Owning teams`.
additionalProperties: false
required:
- type
schema:
type: object
description: The schema of the blueprint, see `properties` and `required`
below for more information.
properties:
properties:
type: object
description: 'The properties of the blueprint.
Each property
identifier can be `<= 100 characters` long, values must match
the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The [type](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- blueprints
- team
- timer
- proto
- labeled-url
description: The type's [format](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties).
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time properties.
Only applicable when format is 'date-time'. Defaults
to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The [spec](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
required:
- type
required:
type: array
items:
type: string
description: The required properties of the blueprint, these
must be provided when creating an entity based on this blueprint.
This is an array of the required properties' identifiers.
additionalProperties: false
required:
- properties
calculationProperties:
type: object
description: 'The [calculation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
of the blueprint.
Each calculation property identifier can
be `<= 100 characters` long, values must match the following pattern:
`^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
additionalProperties: false
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
calculation:
type: string
description: The JQ expression that calculates the value of
the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- proto
- labeled-url
description: The format of the property.
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time calculation
properties. Only applicable when format is 'date-time'.
Defaults to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The spec of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
colorized:
type: boolean
description: Whether the property is colorized.
colors:
type: object
description: When using the `colorized` property, the colors
of the property.
additionalProperties:
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
items:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the item.
format:
description: The format of the item.
enum:
- date-time
- url
- email
- idn-format
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- timer
- proto
- labeled-url
required:
- calculation
- type
mirrorProperties:
type: object
description: 'The [mirror properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/)
of the blueprint.
Each mirror property identifier can be
`<= 100 characters` long, values must match the following pattern:
`^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
path:
type: string
pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
description: The path to the property in the related blueprint.
This is a string of relation identifiers separated by dots,
the last identifier is the property identifier.
title:
type: string
maxLength: 100
description: The title of the property.
additionalProperties: false
required:
- path
aggregationProperties:
type: object
description: 'The [aggregation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/)
of the blueprint.
Each aggregation property identifier can
be `<= 100 characters` long, values must match the following pattern:
`^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- number
default: number
description: The type of the property. This is the type of
the aggregation result.
target:
type: string
description: The blueprint identifier to run the aggregation
on.
calculationSpec:
type: object
oneOf:
- oneOf:
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- count
calculationBy:
type: string
description: Whether to aggregate by entities or properties.
enum:
- entities
required:
- func
- calculationBy
additionalProperties: false
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
calculationBy:
type: string
description: Whether to aggregate by entities or properties.
enum:
- entities
required:
- func
- calculationBy
- averageOf
additionalProperties: false
- oneOf:
- type: object
properties:
func:
type: string
enum:
- sum
- min
- max
- median
description: The function to use for the aggregation.
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- averageOf
description: The calculation spec of the property.
query:
$ref: '#/components/schemas/def-1'
pathFilter:
type: array
description: Optional filter to run the aggregation on entities
that are connected through a specific path. When empty will
use all the related entities from all possible paths
maxItems: 1
items:
type: object
properties:
path:
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots.
type: array
items:
type: string
minItems: 1
fromBlueprint:
type: string
required:
- path
additionalProperties: false
additionalProperties: false
required:
- title
- target
- calculationSpec
relations:
type: object
description: 'The [relations](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/)
of the blueprint.
Each relation identifier can be `<= 100
characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
target:
type: string
required:
type: boolean
default: false
many:
type: boolean
default: false
description:
type: string
type:
type: string
additionalProperties: false
required:
- target
- required
- many
includeInGlobalSearch:
type:
- boolean
- 'null'
description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault
setting. When set, controls whether entities of this blueprint
appear in global search results. Set to null to clear the override.
changelogDestination:
description: The destination of the blueprint's changelog.
oneOf:
- type: object
title: Webhook
description: The changelog will be sent to the specified webhook.
properties:
type:
type: string
enum:
- WEBHOOK
agent:
type: boolean
description: If `true`, Port's execution agent will be used
to send the changelog.
url:
type: string
description: The URL of the webhook.
format: uri
required:
- url
- type
additionalProperties: false
- type: object
title: Kafka
description: The changelog will be sent to the Kafka topic connected
to your Port account.
properties:
type:
type: string
enum:
- KAFKA
required:
- type
additionalProperties: false
additionalProperties: true
required:
- title
- schema
required: true
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer: []
responses:
'200':
description: Updated successfully.
content:
application/json:
schema:
description: Updated successfully.
type: object
properties:
ok:
enum:
- true
blueprint:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
maxLength: 100
description: The identifier of the blueprint.
title:
type: string
maxLength: 100
minLength: 1
description: The title of the blueprint.
description:
type: string
maxLength: 200
description: The description of the blueprint.
icon:
type: string
description: The icon of the blueprint.
ownership:
anyOf:
- type: object
title: Inherited
description: Ownership of the blueprint's entities will
be inherited from a different related blueprint with `Direct`
ownership.
properties:
type:
type: string
enum:
- Inherited
path:
type: string
description: The `path` key is a dot-separated path
of relation identifiers that lead to the desired blueprint.
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
- path
- type: object
title: Direct
description: Ownership of the blueprint's entities will
be defined by a hidden **relation** to the `Team` blueprint.
properties:
type:
type: string
enum:
- Direct
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
schema:
type: object
description: The schema of the blueprint, see `properties`
and `required` below for more information.
properties:
properties:
type: object
description: 'The properties of the blueprint.
Each
property identifier can be `<= 100 characters` long,
values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The [type](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- blueprints
- team
- timer
- proto
- labeled-url
description: The type's [format](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties).
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time properties.
Only applicable when format is 'date-time'. Defaults
to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The [spec](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
specAuthentication:
type: object
description: When using the `spec` property with
`embedded-url`, the authentication spec of the
property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
required:
- type
required:
type: array
items:
type: string
description: The required properties of the blueprint,
these must be provided when creating an entity based
on this blueprint. This is an array of the required
properties' identifiers.
additionalProperties: false
required:
- properties
calculationProperties:
type: object
description: 'The [calculation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
of the blueprint.
Each calculation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
additionalProperties: false
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
calculation:
type: string
description: The JQ expression that calculates the value
of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- proto
- labeled-url
description: The format of the property.
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time calculation
properties. Only applicable when format is 'date-time'.
Defaults to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The spec of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
colorized:
type: boolean
description: Whether the property is colorized.
colors:
type: object
description: When using the `colorized` property, the
colors of the property.
additionalProperties:
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
items:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the item.
format:
description: The format of the item.
enum:
- date-time
- url
- email
- idn-format
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- timer
- proto
- labeled-url
required:
- calculation
- type
mirrorProperties:
type: object
description: 'The [mirror properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/)
of the blueprint.
Each mirror property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
path:
type: string
pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots, the last identifier is the property
identifier.
title:
type: string
maxLength: 100
description: The title of the property.
additionalProperties: false
required:
- path
aggregationProperties:
type: object
description: 'The [aggregation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/)
of the blueprint.
Each aggregation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- number
default: number
description: The type of the property. This is the type
of the aggregation result.
target:
type: string
description: The blueprint identifier to run the aggregation
on.
calculationSpec:
type: object
oneOf:
- oneOf:
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- count
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
additionalProperties: false
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
- averageOf
additionalProperties: false
- oneOf:
- type: object
properties:
func:
type: string
enum:
- sum
- min
- max
- median
description: The function to use for the aggregation.
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- averageOf
description: The calculation spec of the property.
query:
$ref: '#/components/schemas/def-1'
pathFilter:
type: array
description: Optional filter to run the aggregation
on entities that are connected through a specific
path. When empty will use all the related entities
from all possible paths
maxItems: 1
items:
type: object
properties:
path:
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots.
type: array
items:
type: string
minItems: 1
fromBlueprint:
type: string
required:
- path
additionalProperties: false
additionalProperties: false
required:
- title
- target
- calculationSpec
relations:
type: object
description: 'The [relations](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/)
of the blueprint.
Each relation identifier can be
`<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
target:
type: string
required:
type: boolean
default: false
many:
type: boolean
default: false
description:
type: string
type:
type: string
additionalProperties: false
required:
- target
- required
- many
includeInGlobalSearch:
type:
- boolean
- 'null'
description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault
setting. When set, controls whether entities of this blueprint
appear in global search results. Set to null to clear the
override.
changelogDestination:
description: The destination of the blueprint's changelog.
oneOf:
- type: object
title: Webhook
description: The changelog will be sent to the specified
webhook.
properties:
type:
type: string
enum:
- WEBHOOK
agent:
type: boolean
description: If `true`, Port's execution agent will
be used to send the changelog.
url:
type: string
description: The URL of the webhook.
format: uri
required:
- url
- type
additionalProperties: false
- type: object
title: Kafka
description: The changelog will be sent to the Kafka topic
connected to your Port account.
properties:
type:
type: string
enum:
- KAFKA
required:
- type
additionalProperties: false
updatedBy:
type: string
createdBy:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- identifier
- title
- schema
- createdBy
- updatedBy
- createdAt
- updatedAt
required:
- blueprint
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
patch:
summary: Update a blueprint
tags:
- Blueprints
description: This route allows you to update a specific blueprint in your Port
account.
To learn more about blueprints, check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
maxLength: 100
description: The identifier of the blueprint.
title:
type: string
maxLength: 100
minLength: 1
description: The title of the blueprint.
description:
type: string
maxLength: 200
description: The description of the blueprint.
icon:
type: string
description: The icon of the blueprint.
ownership:
anyOf:
- type: object
title: Inherited
description: Ownership of the blueprint's entities will be inherited
from a different related blueprint with `Direct` ownership.
properties:
type:
type: string
enum:
- Inherited
path:
type: string
description: The `path` key is a dot-separated path of relation
identifiers that lead to the desired blueprint.
title:
type: string
maxLength: 100
description: The title of the ownership property. The default
value is `Owning teams`.
additionalProperties: false
required:
- type
- path
- type: object
title: Direct
description: Ownership of the blueprint's entities will be defined
by a hidden **relation** to the `Team` blueprint.
properties:
type:
type: string
enum:
- Direct
title:
type: string
maxLength: 100
description: The title of the ownership property. The default
value is `Owning teams`.
additionalProperties: false
required:
- type
schema:
type: object
properties:
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The [type](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- blueprints
- team
- timer
- proto
- labeled-url
description: The type's [format](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties).
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time properties.
Only applicable when format is 'date-time'. Defaults
to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The [spec](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
required:
type: array
items:
type: string
description: The required properties of the blueprint, these
must be provided when creating an entity based on this blueprint.
This is an array of the required properties' identifiers.
additionalProperties: false
required:
- properties
calculationProperties:
type: object
description: 'The [calculation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
of the blueprint.
Each calculation property identifier can
be `<= 100 characters` long, values must match the following pattern:
`^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
additionalProperties: false
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
calculation:
type: string
description: The JQ expression that calculates the value of
the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- proto
- labeled-url
description: The format of the property.
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time calculation
properties. Only applicable when format is 'date-time'.
Defaults to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The spec of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
colorized:
type: boolean
description: Whether the property is colorized.
colors:
type: object
description: When using the `colorized` property, the colors
of the property.
additionalProperties:
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
items:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the item.
format:
description: The format of the item.
enum:
- date-time
- url
- email
- idn-format
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- timer
- proto
- labeled-url
required:
- calculation
- type
mirrorProperties:
type: object
description: 'The [mirror properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/)
of the blueprint.
Each mirror property identifier can be
`<= 100 characters` long, values must match the following pattern:
`^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
path:
type: string
pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
description: The path to the property in the related blueprint.
This is a string of relation identifiers separated by dots,
the last identifier is the property identifier.
title:
type: string
maxLength: 100
description: The title of the property.
additionalProperties: false
required:
- path
aggregationProperties:
type: object
description: 'The [aggregation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/)
of the blueprint.
Each aggregation property identifier can
be `<= 100 characters` long, values must match the following pattern:
`^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- number
default: number
description: The type of the property. This is the type of
the aggregation result.
target:
type: string
description: The blueprint identifier to run the aggregation
on.
calculationSpec:
type: object
oneOf:
- oneOf:
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- count
calculationBy:
type: string
description: Whether to aggregate by entities or properties.
enum:
- entities
required:
- func
- calculationBy
additionalProperties: false
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
calculationBy:
type: string
description: Whether to aggregate by entities or properties.
enum:
- entities
required:
- func
- calculationBy
- averageOf
additionalProperties: false
- oneOf:
- type: object
properties:
func:
type: string
enum:
- sum
- min
- max
- median
description: The function to use for the aggregation.
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- averageOf
description: The calculation spec of the property.
query:
$ref: '#/components/schemas/def-1'
pathFilter:
type: array
description: Optional filter to run the aggregation on entities
that are connected through a specific path. When empty will
use all the related entities from all possible paths
maxItems: 1
items:
type: object
properties:
path:
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots.
type: array
items:
type: string
minItems: 1
fromBlueprint:
type: string
required:
- path
additionalProperties: false
additionalProperties: false
required:
- title
- target
- calculationSpec
relations:
type: object
description: 'The [relations](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/)
of the blueprint.
Each relation identifier can be `<= 100
characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
target:
type: string
required:
type: boolean
default: false
many:
type: boolean
default: false
description:
type: string
type:
type: string
additionalProperties: false
required:
- target
- required
- many
includeInGlobalSearch:
type:
- boolean
- 'null'
description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault
setting. When set, controls whether entities of this blueprint
appear in global search results. Set to null to clear the override.
changelogDestination:
description: The destination of the blueprint's changelog.
oneOf:
- type: object
title: Webhook
description: The changelog will be sent to the specified webhook.
properties:
type:
type: string
enum:
- WEBHOOK
agent:
type: boolean
description: If `true`, Port's execution agent will be used
to send the changelog.
url:
type: string
description: The URL of the webhook.
format: uri
required:
- url
- type
additionalProperties: false
- type: object
title: Kafka
description: The changelog will be sent to the Kafka topic connected
to your Port account.
properties:
type:
type: string
enum:
- KAFKA
required:
- type
additionalProperties: false
additionalProperties: true
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer: []
responses:
'200':
description: Updated successfully.
content:
application/json:
schema:
description: Updated successfully.
type: object
properties:
ok:
enum:
- true
blueprint:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
maxLength: 100
description: The identifier of the blueprint.
title:
type: string
maxLength: 100
minLength: 1
description: The title of the blueprint.
description:
type: string
maxLength: 200
description: The description of the blueprint.
icon:
type: string
description: The icon of the blueprint.
ownership:
anyOf:
- type: object
title: Inherited
description: Ownership of the blueprint's entities will
be inherited from a different related blueprint with `Direct`
ownership.
properties:
type:
type: string
enum:
- Inherited
path:
type: string
description: The `path` key is a dot-separated path
of relation identifiers that lead to the desired blueprint.
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
- path
- type: object
title: Direct
description: Ownership of the blueprint's entities will
be defined by a hidden **relation** to the `Team` blueprint.
properties:
type:
type: string
enum:
- Direct
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
schema:
type: object
description: The schema of the blueprint, see `properties`
and `required` below for more information.
properties:
properties:
type: object
description: 'The properties of the blueprint.
Each
property identifier can be `<= 100 characters` long,
values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The [type](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- blueprints
- team
- timer
- proto
- labeled-url
description: The type's [format](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties).
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time properties.
Only applicable when format is 'date-time'. Defaults
to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The [spec](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
specAuthentication:
type: object
description: When using the `spec` property with
`embedded-url`, the authentication spec of the
property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
required:
- type
required:
type: array
items:
type: string
description: The required properties of the blueprint,
these must be provided when creating an entity based
on this blueprint. This is an array of the required
properties' identifiers.
additionalProperties: false
required:
- properties
calculationProperties:
type: object
description: 'The [calculation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
of the blueprint.
Each calculation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
additionalProperties: false
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
calculation:
type: string
description: The JQ expression that calculates the value
of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- proto
- labeled-url
description: The format of the property.
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time calculation
properties. Only applicable when format is 'date-time'.
Defaults to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The spec of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
colorized:
type: boolean
description: Whether the property is colorized.
colors:
type: object
description: When using the `colorized` property, the
colors of the property.
additionalProperties:
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
items:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the item.
format:
description: The format of the item.
enum:
- date-time
- url
- email
- idn-format
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- timer
- proto
- labeled-url
required:
- calculation
- type
mirrorProperties:
type: object
description: 'The [mirror properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/)
of the blueprint.
Each mirror property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
path:
type: string
pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots, the last identifier is the property
identifier.
title:
type: string
maxLength: 100
description: The title of the property.
additionalProperties: false
required:
- path
aggregationProperties:
type: object
description: 'The [aggregation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/)
of the blueprint.
Each aggregation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- number
default: number
description: The type of the property. This is the type
of the aggregation result.
target:
type: string
description: The blueprint identifier to run the aggregation
on.
calculationSpec:
type: object
oneOf:
- oneOf:
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- count
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
additionalProperties: false
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
- averageOf
additionalProperties: false
- oneOf:
- type: object
properties:
func:
type: string
enum:
- sum
- min
- max
- median
description: The function to use for the aggregation.
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- averageOf
description: The calculation spec of the property.
query:
$ref: '#/components/schemas/def-1'
pathFilter:
type: array
description: Optional filter to run the aggregation
on entities that are connected through a specific
path. When empty will use all the related entities
from all possible paths
maxItems: 1
items:
type: object
properties:
path:
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots.
type: array
items:
type: string
minItems: 1
fromBlueprint:
type: string
required:
- path
additionalProperties: false
additionalProperties: false
required:
- title
- target
- calculationSpec
relations:
type: object
description: 'The [relations](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/)
of the blueprint.
Each relation identifier can be
`<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
target:
type: string
required:
type: boolean
default: false
many:
type: boolean
default: false
description:
type: string
type:
type: string
additionalProperties: false
required:
- target
- required
- many
includeInGlobalSearch:
type:
- boolean
- 'null'
description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault
setting. When set, controls whether entities of this blueprint
appear in global search results. Set to null to clear the
override.
changelogDestination:
description: The destination of the blueprint's changelog.
oneOf:
- type: object
title: Webhook
description: The changelog will be sent to the specified
webhook.
properties:
type:
type: string
enum:
- WEBHOOK
agent:
type: boolean
description: If `true`, Port's execution agent will
be used to send the changelog.
url:
type: string
description: The URL of the webhook.
format: uri
required:
- url
- type
additionalProperties: false
- type: object
title: Kafka
description: The changelog will be sent to the Kafka topic
connected to your Port account.
properties:
type:
type: string
enum:
- KAFKA
required:
- type
additionalProperties: false
updatedBy:
type: string
createdBy:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- identifier
- title
- schema
- createdBy
- updatedBy
- createdAt
- updatedAt
required:
- blueprint
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
delete:
summary: Delete a blueprint
tags:
- Blueprints
description: This route allows you to delete a specific blueprint in your Port
account.
To learn more about blueprints, check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/).
**Note:** Before deleting a blueprint, make sure all associated entities have
been deleted. Entity deletion may take a few seconds to complete, so plan
accordingly when using the [**Delete an entity**](https://docs.port.io/api-reference/delete-an-entity)
endpoint before this endpoint in scripts or automations.
parameters:
- schema:
type: boolean
in: query
name: delete_actions
required: false
description: If `true`, all self-service actions associated with this blueprint
will be deleted as well.
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer: []
responses:
'200':
description: Deleted successfully.
content:
application/json:
schema:
description: Deleted successfully.
properties:
ok:
enum:
- true
required:
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/blueprints/{blueprint_identifier}/properties/{property_identifier}/rename:
patch:
summary: Rename a property in a blueprint
tags:
- Blueprints
description: This route allows you to change the identifier of a property in
a specific blueprint in your Port account.
To learn more about blueprints,
check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/).
requestBody:
content:
application/json:
schema:
type: object
properties:
newPropertyName:
type: string
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
description: The new identifier of the property.
additionalProperties: false
parameters:
- schema:
type: string
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint you want to change.
- schema:
type: string
in: path
name: property_identifier
required: true
description: The identifier of the property you want to rename.
security:
- bearer: []
responses:
'200':
description: Updated successfully.
content:
application/json:
schema:
description: Updated successfully.
type: object
properties:
ok:
enum:
- true
blueprint:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
maxLength: 100
description: The identifier of the blueprint.
title:
type: string
maxLength: 100
minLength: 1
description: The title of the blueprint.
description:
type: string
maxLength: 200
description: The description of the blueprint.
icon:
type: string
description: The icon of the blueprint.
ownership:
anyOf:
- type: object
title: Inherited
description: Ownership of the blueprint's entities will
be inherited from a different related blueprint with `Direct`
ownership.
properties:
type:
type: string
enum:
- Inherited
path:
type: string
description: The `path` key is a dot-separated path
of relation identifiers that lead to the desired blueprint.
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
- path
- type: object
title: Direct
description: Ownership of the blueprint's entities will
be defined by a hidden **relation** to the `Team` blueprint.
properties:
type:
type: string
enum:
- Direct
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
schema:
type: object
description: The schema of the blueprint, see `properties`
and `required` below for more information.
properties:
properties:
type: object
description: 'The properties of the blueprint.
Each
property identifier can be `<= 100 characters` long,
values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The [type](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- blueprints
- team
- timer
- proto
- labeled-url
description: The type's [format](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties).
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time properties.
Only applicable when format is 'date-time'. Defaults
to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The [spec](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
specAuthentication:
type: object
description: When using the `spec` property with
`embedded-url`, the authentication spec of the
property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
required:
- type
required:
type: array
items:
type: string
description: The required properties of the blueprint,
these must be provided when creating an entity based
on this blueprint. This is an array of the required
properties' identifiers.
additionalProperties: false
required:
- properties
calculationProperties:
type: object
description: 'The [calculation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
of the blueprint.
Each calculation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
additionalProperties: false
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
calculation:
type: string
description: The JQ expression that calculates the value
of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- proto
- labeled-url
description: The format of the property.
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time calculation
properties. Only applicable when format is 'date-time'.
Defaults to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The spec of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
colorized:
type: boolean
description: Whether the property is colorized.
colors:
type: object
description: When using the `colorized` property, the
colors of the property.
additionalProperties:
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
items:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the item.
format:
description: The format of the item.
enum:
- date-time
- url
- email
- idn-format
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- timer
- proto
- labeled-url
required:
- calculation
- type
mirrorProperties:
type: object
description: 'The [mirror properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/)
of the blueprint.
Each mirror property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
path:
type: string
pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots, the last identifier is the property
identifier.
title:
type: string
maxLength: 100
description: The title of the property.
additionalProperties: false
required:
- path
aggregationProperties:
type: object
description: 'The [aggregation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/)
of the blueprint.
Each aggregation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- number
default: number
description: The type of the property. This is the type
of the aggregation result.
target:
type: string
description: The blueprint identifier to run the aggregation
on.
calculationSpec:
type: object
oneOf:
- oneOf:
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- count
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
additionalProperties: false
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
- averageOf
additionalProperties: false
- oneOf:
- type: object
properties:
func:
type: string
enum:
- sum
- min
- max
- median
description: The function to use for the aggregation.
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- averageOf
description: The calculation spec of the property.
query:
$ref: '#/components/schemas/def-1'
pathFilter:
type: array
description: Optional filter to run the aggregation
on entities that are connected through a specific
path. When empty will use all the related entities
from all possible paths
maxItems: 1
items:
type: object
properties:
path:
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots.
type: array
items:
type: string
minItems: 1
fromBlueprint:
type: string
required:
- path
additionalProperties: false
additionalProperties: false
required:
- title
- target
- calculationSpec
relations:
type: object
description: 'The [relations](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/)
of the blueprint.
Each relation identifier can be
`<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
target:
type: string
required:
type: boolean
default: false
many:
type: boolean
default: false
description:
type: string
type:
type: string
additionalProperties: false
required:
- target
- required
- many
includeInGlobalSearch:
type:
- boolean
- 'null'
description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault
setting. When set, controls whether entities of this blueprint
appear in global search results. Set to null to clear the
override.
changelogDestination:
description: The destination of the blueprint's changelog.
oneOf:
- type: object
title: Webhook
description: The changelog will be sent to the specified
webhook.
properties:
type:
type: string
enum:
- WEBHOOK
agent:
type: boolean
description: If `true`, Port's execution agent will
be used to send the changelog.
url:
type: string
description: The URL of the webhook.
format: uri
required:
- url
- type
additionalProperties: false
- type: object
title: Kafka
description: The changelog will be sent to the Kafka topic
connected to your Port account.
properties:
type:
type: string
enum:
- KAFKA
required:
- type
additionalProperties: false
updatedBy:
type: string
createdBy:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- identifier
- title
- schema
- createdBy
- updatedBy
- createdAt
- updatedAt
required:
- blueprint
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/blueprints/{blueprint_identifier}/mirror/{property_identifier}/rename:
patch:
summary: Rename a blueprint's mirror property
tags:
- Blueprints
description: This route allows you to change the identifier of a mirror property
in a specific blueprint in your Port account.
To learn more about
blueprints, check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/).
requestBody:
content:
application/json:
schema:
type: object
properties:
newMirrorName:
type: string
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
description: The new identifier of the mirror property.
additionalProperties: false
parameters:
- schema:
type: string
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint you want to change.
- schema:
type: string
in: path
name: property_identifier
required: true
description: The identifier of the property you want to rename.
security:
- bearer: []
responses:
'200':
description: Updated successfully.
content:
application/json:
schema:
description: Updated successfully.
type: object
properties:
ok:
enum:
- true
blueprint:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
maxLength: 100
description: The identifier of the blueprint.
title:
type: string
maxLength: 100
minLength: 1
description: The title of the blueprint.
description:
type: string
maxLength: 200
description: The description of the blueprint.
icon:
type: string
description: The icon of the blueprint.
ownership:
anyOf:
- type: object
title: Inherited
description: Ownership of the blueprint's entities will
be inherited from a different related blueprint with `Direct`
ownership.
properties:
type:
type: string
enum:
- Inherited
path:
type: string
description: The `path` key is a dot-separated path
of relation identifiers that lead to the desired blueprint.
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
- path
- type: object
title: Direct
description: Ownership of the blueprint's entities will
be defined by a hidden **relation** to the `Team` blueprint.
properties:
type:
type: string
enum:
- Direct
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
schema:
type: object
description: The schema of the blueprint, see `properties`
and `required` below for more information.
properties:
properties:
type: object
description: 'The properties of the blueprint.
Each
property identifier can be `<= 100 characters` long,
values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The [type](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- blueprints
- team
- timer
- proto
- labeled-url
description: The type's [format](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties).
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time properties.
Only applicable when format is 'date-time'. Defaults
to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The [spec](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
specAuthentication:
type: object
description: When using the `spec` property with
`embedded-url`, the authentication spec of the
property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
required:
- type
required:
type: array
items:
type: string
description: The required properties of the blueprint,
these must be provided when creating an entity based
on this blueprint. This is an array of the required
properties' identifiers.
additionalProperties: false
required:
- properties
calculationProperties:
type: object
description: 'The [calculation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
of the blueprint.
Each calculation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
additionalProperties: false
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
calculation:
type: string
description: The JQ expression that calculates the value
of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- proto
- labeled-url
description: The format of the property.
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time calculation
properties. Only applicable when format is 'date-time'.
Defaults to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The spec of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
colorized:
type: boolean
description: Whether the property is colorized.
colors:
type: object
description: When using the `colorized` property, the
colors of the property.
additionalProperties:
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
items:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the item.
format:
description: The format of the item.
enum:
- date-time
- url
- email
- idn-format
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- timer
- proto
- labeled-url
required:
- calculation
- type
mirrorProperties:
type: object
description: 'The [mirror properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/)
of the blueprint.
Each mirror property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
path:
type: string
pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots, the last identifier is the property
identifier.
title:
type: string
maxLength: 100
description: The title of the property.
additionalProperties: false
required:
- path
aggregationProperties:
type: object
description: 'The [aggregation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/)
of the blueprint.
Each aggregation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- number
default: number
description: The type of the property. This is the type
of the aggregation result.
target:
type: string
description: The blueprint identifier to run the aggregation
on.
calculationSpec:
type: object
oneOf:
- oneOf:
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- count
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
additionalProperties: false
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
- averageOf
additionalProperties: false
- oneOf:
- type: object
properties:
func:
type: string
enum:
- sum
- min
- max
- median
description: The function to use for the aggregation.
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- averageOf
description: The calculation spec of the property.
query:
$ref: '#/components/schemas/def-1'
pathFilter:
type: array
description: Optional filter to run the aggregation
on entities that are connected through a specific
path. When empty will use all the related entities
from all possible paths
maxItems: 1
items:
type: object
properties:
path:
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots.
type: array
items:
type: string
minItems: 1
fromBlueprint:
type: string
required:
- path
additionalProperties: false
additionalProperties: false
required:
- title
- target
- calculationSpec
relations:
type: object
description: 'The [relations](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/)
of the blueprint.
Each relation identifier can be
`<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
target:
type: string
required:
type: boolean
default: false
many:
type: boolean
default: false
description:
type: string
type:
type: string
additionalProperties: false
required:
- target
- required
- many
includeInGlobalSearch:
type:
- boolean
- 'null'
description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault
setting. When set, controls whether entities of this blueprint
appear in global search results. Set to null to clear the
override.
changelogDestination:
description: The destination of the blueprint's changelog.
oneOf:
- type: object
title: Webhook
description: The changelog will be sent to the specified
webhook.
properties:
type:
type: string
enum:
- WEBHOOK
agent:
type: boolean
description: If `true`, Port's execution agent will
be used to send the changelog.
url:
type: string
description: The URL of the webhook.
format: uri
required:
- url
- type
additionalProperties: false
- type: object
title: Kafka
description: The changelog will be sent to the Kafka topic
connected to your Port account.
properties:
type:
type: string
enum:
- KAFKA
required:
- type
additionalProperties: false
updatedBy:
type: string
createdBy:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- identifier
- title
- schema
- createdBy
- updatedBy
- createdAt
- updatedAt
required:
- blueprint
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/blueprints/{blueprint_identifier}/relations/{relation_identifier}/rename:
patch:
summary: Rename a blueprint's relation
tags:
- Blueprints
description: This route allows you to change the identifier of a relation in
a specific blueprint in your Port account.
To learn more about blueprints,
check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/).
requestBody:
content:
application/json:
schema:
type: object
properties:
newRelationIdentifier:
type: string
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
description: The new identifier of the relation.
additionalProperties: false
parameters:
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint you want to change.
- schema:
type: string
minLength: 1
in: path
name: relation_identifier
required: true
description: The identifier of the relation you want to rename.
security:
- bearer: []
responses:
'200':
description: Updated successfully.
content:
application/json:
schema:
description: Updated successfully.
type: object
properties:
ok:
enum:
- true
blueprint:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
maxLength: 100
description: The identifier of the blueprint.
title:
type: string
maxLength: 100
minLength: 1
description: The title of the blueprint.
description:
type: string
maxLength: 200
description: The description of the blueprint.
icon:
type: string
description: The icon of the blueprint.
ownership:
anyOf:
- type: object
title: Inherited
description: Ownership of the blueprint's entities will
be inherited from a different related blueprint with `Direct`
ownership.
properties:
type:
type: string
enum:
- Inherited
path:
type: string
description: The `path` key is a dot-separated path
of relation identifiers that lead to the desired blueprint.
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
- path
- type: object
title: Direct
description: Ownership of the blueprint's entities will
be defined by a hidden **relation** to the `Team` blueprint.
properties:
type:
type: string
enum:
- Direct
title:
type: string
maxLength: 100
description: The title of the ownership property. The
default value is `Owning teams`.
additionalProperties: false
required:
- type
schema:
type: object
description: The schema of the blueprint, see `properties`
and `required` below for more information.
properties:
properties:
type: object
description: 'The properties of the blueprint.
Each
property identifier can be `<= 100 characters` long,
values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The [type](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- blueprints
- team
- timer
- proto
- labeled-url
description: The type's [format](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties).
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time properties.
Only applicable when format is 'date-time'. Defaults
to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The [spec](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#supported-properties)
of the property.
specAuthentication:
type: object
description: When using the `spec` property with
`embedded-url`, the authentication spec of the
property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
required:
- type
required:
type: array
items:
type: string
description: The required properties of the blueprint,
these must be provided when creating an entity based
on this blueprint. This is an array of the required
properties' identifiers.
additionalProperties: false
required:
- properties
calculationProperties:
type: object
description: 'The [calculation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/calculation-property/)
of the blueprint.
Each calculation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
additionalProperties: false
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
calculation:
type: string
description: The JQ expression that calculates the value
of the property.
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the property.
format:
enum:
- date-time
- url
- email
- idn-email
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- proto
- labeled-url
description: The format of the property.
dateFormat:
enum:
- relative
- 12-hour
- 24-hour
- iso
description: The display format for date-time calculation
properties. Only applicable when format is 'date-time'.
Defaults to 'relative'.
spec:
enum:
- open-api
- embedded-url
- async-api
description: The spec of the property.
specAuthentication:
type: object
description: When using the `spec` property with `embedded-url`,
the authentication spec of the property.
properties:
clientId:
type: string
authorizationUrl:
type: string
format: url
tokenUrl:
type: string
format: url
authorizationScope:
type: array
items:
type: string
default:
- openid
additionalProperties: false
required:
- clientId
- authorizationUrl
- tokenUrl
colorized:
type: boolean
description: Whether the property is colorized.
colors:
type: object
description: When using the `colorized` property, the
colors of the property.
additionalProperties:
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
items:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
description: The type of the item.
format:
description: The format of the item.
enum:
- date-time
- url
- email
- idn-format
- ipv4
- ipv6
- markdown
- yaml
- user
- team
- timer
- proto
- labeled-url
required:
- calculation
- type
mirrorProperties:
type: object
description: 'The [mirror properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/mirror-property/)
of the blueprint.
Each mirror property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
path:
type: string
pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots, the last identifier is the property
identifier.
title:
type: string
maxLength: 100
description: The title of the property.
additionalProperties: false
required:
- path
aggregationProperties:
type: object
description: 'The [aggregation properties](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/aggregation-property/)
of the blueprint.
Each aggregation property identifier
can be `<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
default: {}
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
description: The title of the property.
description:
type: string
description: The description of the property.
icon:
type: string
description: The icon of the property.
type:
enum:
- number
default: number
description: The type of the property. This is the type
of the aggregation result.
target:
type: string
description: The blueprint identifier to run the aggregation
on.
calculationSpec:
type: object
oneOf:
- oneOf:
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- count
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
additionalProperties: false
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
calculationBy:
type: string
description: Whether to aggregate by entities
or properties.
enum:
- entities
required:
- func
- calculationBy
- averageOf
additionalProperties: false
- oneOf:
- type: object
properties:
func:
type: string
enum:
- sum
- min
- max
- median
description: The function to use for the aggregation.
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- type: object
properties:
func:
description: The function to use for the aggregation.
enum:
- average
measureTimeBy:
type: string
description: The time property to use for the
aggregation.
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
property:
type: string
description: The property to aggregate.
calculationBy:
type: string
description: Whether to aggregate by property
or entities.
enum:
- property
additionalProperties: false
required:
- func
- property
- calculationBy
- averageOf
description: The calculation spec of the property.
query:
$ref: '#/components/schemas/def-1'
pathFilter:
type: array
description: Optional filter to run the aggregation
on entities that are connected through a specific
path. When empty will use all the related entities
from all possible paths
maxItems: 1
items:
type: object
properties:
path:
description: The path to the property in the related
blueprint. This is a string of relation identifiers
separated by dots.
type: array
items:
type: string
minItems: 1
fromBlueprint:
type: string
required:
- path
additionalProperties: false
additionalProperties: false
required:
- title
- target
- calculationSpec
relations:
type: object
description: 'The [relations](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/relate-blueprints/)
of the blueprint.
Each relation identifier can be
`<= 100 characters` long, values must match the following
pattern: `^[A-Za-z0-9@_=\\-]+$`.'
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 100
target:
type: string
required:
type: boolean
default: false
many:
type: boolean
default: false
description:
type: string
type:
type: string
additionalProperties: false
required:
- target
- required
- many
includeInGlobalSearch:
type:
- boolean
- 'null'
description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault
setting. When set, controls whether entities of this blueprint
appear in global search results. Set to null to clear the
override.
changelogDestination:
description: The destination of the blueprint's changelog.
oneOf:
- type: object
title: Webhook
description: The changelog will be sent to the specified
webhook.
properties:
type:
type: string
enum:
- WEBHOOK
agent:
type: boolean
description: If `true`, Port's execution agent will
be used to send the changelog.
url:
type: string
description: The URL of the webhook.
format: uri
required:
- url
- type
additionalProperties: false
- type: object
title: Kafka
description: The changelog will be sent to the Kafka topic
connected to your Port account.
properties:
type:
type: string
enum:
- KAFKA
required:
- type
additionalProperties: false
updatedBy:
type: string
createdBy:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- identifier
- title
- schema
- createdBy
- updatedBy
- createdAt
- updatedAt
required:
- blueprint
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/actions:
post:
summary: Create an action/automation
tags:
- Actions
description: This route allows you to create a new self-service action or automation
in your Port account.
To learn more about actions and automations,
check out the [documentation](https://docs.port.io/actions-and-automations/).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:=-]+$
description: The identifier of the action.
title:
type: string
description: The title of the action.
icon:
type: string
description: The icon of the action.
description:
type: string
description: The description of the action.
trigger:
oneOf:
- type: object
description: The trigger definition of the action.
properties:
operation:
type: string
enum:
- DAY-2
- DELETE
description: The [operation type](https://docs.port.io/create-self-service-experiences/setup-ui-for-action/#basic-details)
of the action.
type:
type: string
enum:
- self-service
blueprintIdentifier:
type: string
description: The identifier of the blueprint that the action
is associated with.
Note that this is optional, as actions
do not have to be tied directly to a blueprint.
userInputs:
oneOf:
- type: object
title: Default order
description: Use this option when you don't want to define
a custom order/steps for the user inputs.
properties:
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
title: Type
description: The type of the input.
jqQuery:
type: 'null'
format:
enum:
- date-time
- url
- email
- ipv4
- ipv6
- yaml
- entity
- user
- team
- proto
- markdown
- multi-line
- labeled-url
title: Format
description: The format of the input.
blueprint:
type: string
title: Blueprint
description: When using the `entity` format, this
is the identifier of the blueprint whose entities
will be selectable via this input.
dependsOn:
type: array
items:
type: string
title: Depends On
description: The identifiers of the inputs that
this input depends on. This input will be disabled
until they have been given a value.
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the input.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the input.
title: boolean
title: Visible
description: The visibility of the input. Resolves
to a boolean value (`true` = visible).
icon:
type: string
title: Icon
description: The icon of the input.
dataset:
$ref: '#/components/schemas/def-2'
title: Dataset
description: The dataset to use for entity selection
inputs.
sort:
type: object
title: Sort
description: Relevant only for `Entity selection`
inputs (`type` = `string` and `format` = `entity`).
This
input allows you to sort the entities in the
dropdown by a specific property.
properties:
property:
type: string
title: Property
description: The property by which to sort
the entities.
order:
type: string
enum:
- ASC
- DESC
title: Order
description: The order in which to sort the
entities.
required:
- property
- order
required:
- type
titles:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 140
minLength: 1
description:
type: string
maxLength: 1000
visible:
anyOf:
- type: boolean
- $ref: '#/components/schemas/def-0'
required:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A jq query that runs on the action's
inputs and resolves to a boolean value (`true` =
required).
title: jqQuery
- type: array
description: The identifiers of the required inputs.
items:
type: string
title: array
required:
- properties
additionalProperties: false
- type: object
title: Custom order
description: Use this option when you want to define a custom
order for the user inputs.
properties:
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
title: Type
description: The type of the input.
jqQuery:
type: 'null'
format:
enum:
- date-time
- url
- email
- ipv4
- ipv6
- yaml
- entity
- user
- team
- proto
- markdown
- multi-line
- labeled-url
title: Format
description: The format of the input.
blueprint:
type: string
title: Blueprint
description: When using the `entity` format, this
is the identifier of the blueprint whose entities
will be selectable via this input.
dependsOn:
type: array
items:
type: string
title: Depends On
description: The identifiers of the inputs that
this input depends on. This input will be disabled
until they have been given a value.
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the input.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the input.
title: boolean
title: Visible
description: The visibility of the input. Resolves
to a boolean value (`true` = visible).
icon:
type: string
title: Icon
description: The icon of the input.
dataset:
$ref: '#/components/schemas/def-2'
title: Dataset
description: The dataset to use for entity selection
inputs.
sort:
type: object
title: Sort
description: Relevant only for `Entity selection`
inputs (`type` = `string` and `format` = `entity`).
This
input allows you to sort the entities in the
dropdown by a specific property.
properties:
property:
type: string
title: Property
description: The property by which to sort
the entities.
order:
type: string
enum:
- ASC
- DESC
title: Order
description: The order in which to sort the
entities.
required:
- property
- order
required:
- type
required:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A jq query that runs on the action's
inputs and resolves to a boolean value (`true` =
required).
title: jqQuery
- type: array
description: The identifiers of the required inputs.
items:
type: string
title: array
titles:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 140
minLength: 1
description:
type: string
maxLength: 1000
visible:
anyOf:
- type: boolean
- $ref: '#/components/schemas/def-0'
order:
type: array
items:
type: string
required:
- properties
- order
additionalProperties: false
- type: object
title: Custom steps
description: Use this option when you want to define custom
steps for the user inputs.
properties:
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
title: Type
description: The type of the input.
jqQuery:
type: 'null'
format:
enum:
- date-time
- url
- email
- ipv4
- ipv6
- yaml
- entity
- user
- team
- proto
- markdown
- multi-line
- labeled-url
title: Format
description: The format of the input.
blueprint:
type: string
title: Blueprint
description: When using the `entity` format, this
is the identifier of the blueprint whose entities
will be selectable via this input.
dependsOn:
type: array
items:
type: string
title: Depends On
description: The identifiers of the inputs that
this input depends on. This input will be disabled
until they have been given a value.
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the input.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the input.
title: boolean
title: Visible
description: The visibility of the input. Resolves
to a boolean value (`true` = visible).
icon:
type: string
title: Icon
description: The icon of the input.
dataset:
$ref: '#/components/schemas/def-2'
title: Dataset
description: The dataset to use for entity selection
inputs.
sort:
type: object
title: Sort
description: Relevant only for `Entity selection`
inputs (`type` = `string` and `format` = `entity`).
This
input allows you to sort the entities in the
dropdown by a specific property.
properties:
property:
type: string
title: Property
description: The property by which to sort
the entities.
order:
type: string
enum:
- ASC
- DESC
title: Order
description: The order in which to sort the
entities.
required:
- property
- order
required:
- type
required:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A jq query that runs on the action's
inputs and resolves to a boolean value (`true` =
required).
title: jqQuery
- type: array
description: The identifiers of the required inputs.
items:
type: string
title: array
titles:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 140
minLength: 1
description:
type: string
maxLength: 1000
visible:
anyOf:
- type: boolean
- $ref: '#/components/schemas/def-0'
steps:
type: array
description: The steps of the user inputs. Each step
is an object containing its title and the order of
its properties.
items:
type: object
properties:
title:
type: string
description: The title of the step.
order:
type: array
description: The order of the properties in the
step - an array of property identifiers.
items:
type: string
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the step.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the step.
title: boolean
title: Visible
description: The visibility of the step. Resolves
to a boolean value (`true` = visible).
required:
- title
additionalProperties: false
required:
- properties
- steps
additionalProperties: false
description: The [user inputs](https://docs.port.io/create-self-service-experiences/setup-ui-for-action/user-inputs/)
of the action.
actionCardButtonText:
type: string
maxLength: 15
minLength: 1
pattern: ^[^\s].*[^\s]$
executeActionButtonText:
type: string
maxLength: 15
minLength: 1
pattern: ^[^\s].*[^\s]$
condition:
type: object
description: Filters used to include/exclude specific entities
from the action.
additionalProperties: false
properties:
type:
type: string
enum:
- SEARCH
rules:
type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
combinator:
type: string
enum:
- and
- or
required:
- type
- rules
- combinator
dependencies:
condition:
- blueprintIdentifier
required:
- type
- userInputs
- operation
additionalProperties: false
title: Self-service (DAY-2/DELETE)
- type: object
description: The trigger definition of the action.
properties:
operation:
type: string
enum:
- CREATE
description: The [operation type](https://docs.port.io/create-self-service-experiences/setup-ui-for-action/#basic-details)
of the action.
type:
type: string
enum:
- self-service
blueprintIdentifier:
type: string
description: The identifier of the blueprint that the action
is associated with.
Note that this is optional, as actions
do not have to be tied directly to a blueprint.
userInputs:
oneOf:
- type: object
title: Default order
description: Use this option when you don't want to define
a custom order/steps for the user inputs.
properties:
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
title: Type
description: The type of the input.
jqQuery:
type: 'null'
format:
enum:
- date-time
- url
- email
- ipv4
- ipv6
- yaml
- entity
- user
- team
- proto
- markdown
- multi-line
- labeled-url
title: Format
description: The format of the input.
blueprint:
type: string
title: Blueprint
description: When using the `entity` format, this
is the identifier of the blueprint whose entities
will be selectable via this input.
dependsOn:
type: array
items:
type: string
title: Depends On
description: The identifiers of the inputs that
this input depends on. This input will be disabled
until they have been given a value.
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the input.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the input.
title: boolean
title: Visible
description: The visibility of the input. Resolves
to a boolean value (`true` = visible).
icon:
type: string
title: Icon
description: The icon of the input.
dataset:
$ref: '#/components/schemas/def-2'
title: Dataset
description: The dataset to use for entity selection
inputs.
sort:
type: object
title: Sort
description: Relevant only for `Entity selection`
inputs (`type` = `string` and `format` = `entity`).
This
input allows you to sort the entities in the
dropdown by a specific property.
properties:
property:
type: string
title: Property
description: The property by which to sort
the entities.
order:
type: string
enum:
- ASC
- DESC
title: Order
description: The order in which to sort the
entities.
required:
- property
- order
required:
- type
titles:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 140
minLength: 1
description:
type: string
maxLength: 1000
visible:
anyOf:
- type: boolean
- $ref: '#/components/schemas/def-0'
required:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A jq query that runs on the action's
inputs and resolves to a boolean value (`true` =
required).
title: jqQuery
- type: array
description: The identifiers of the required inputs.
items:
type: string
title: array
required:
- properties
additionalProperties: false
- type: object
title: Custom order
description: Use this option when you want to define a custom
order for the user inputs.
properties:
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
title: Type
description: The type of the input.
jqQuery:
type: 'null'
format:
enum:
- date-time
- url
- email
- ipv4
- ipv6
- yaml
- entity
- user
- team
- proto
- markdown
- multi-line
- labeled-url
title: Format
description: The format of the input.
blueprint:
type: string
title: Blueprint
description: When using the `entity` format, this
is the identifier of the blueprint whose entities
will be selectable via this input.
dependsOn:
type: array
items:
type: string
title: Depends On
description: The identifiers of the inputs that
this input depends on. This input will be disabled
until they have been given a value.
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the input.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the input.
title: boolean
title: Visible
description: The visibility of the input. Resolves
to a boolean value (`true` = visible).
icon:
type: string
title: Icon
description: The icon of the input.
dataset:
$ref: '#/components/schemas/def-2'
title: Dataset
description: The dataset to use for entity selection
inputs.
sort:
type: object
title: Sort
description: Relevant only for `Entity selection`
inputs (`type` = `string` and `format` = `entity`).
This
input allows you to sort the entities in the
dropdown by a specific property.
properties:
property:
type: string
title: Property
description: The property by which to sort
the entities.
order:
type: string
enum:
- ASC
- DESC
title: Order
description: The order in which to sort the
entities.
required:
- property
- order
required:
- type
required:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A jq query that runs on the action's
inputs and resolves to a boolean value (`true` =
required).
title: jqQuery
- type: array
description: The identifiers of the required inputs.
items:
type: string
title: array
titles:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 140
minLength: 1
description:
type: string
maxLength: 1000
visible:
anyOf:
- type: boolean
- $ref: '#/components/schemas/def-0'
order:
type: array
items:
type: string
required:
- properties
- order
additionalProperties: false
- type: object
title: Custom steps
description: Use this option when you want to define custom
steps for the user inputs.
properties:
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
title: Type
description: The type of the input.
jqQuery:
type: 'null'
format:
enum:
- date-time
- url
- email
- ipv4
- ipv6
- yaml
- entity
- user
- team
- proto
- markdown
- multi-line
- labeled-url
title: Format
description: The format of the input.
blueprint:
type: string
title: Blueprint
description: When using the `entity` format, this
is the identifier of the blueprint whose entities
will be selectable via this input.
dependsOn:
type: array
items:
type: string
title: Depends On
description: The identifiers of the inputs that
this input depends on. This input will be disabled
until they have been given a value.
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the input.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the input.
title: boolean
title: Visible
description: The visibility of the input. Resolves
to a boolean value (`true` = visible).
icon:
type: string
title: Icon
description: The icon of the input.
dataset:
$ref: '#/components/schemas/def-2'
title: Dataset
description: The dataset to use for entity selection
inputs.
sort:
type: object
title: Sort
description: Relevant only for `Entity selection`
inputs (`type` = `string` and `format` = `entity`).
This
input allows you to sort the entities in the
dropdown by a specific property.
properties:
property:
type: string
title: Property
description: The property by which to sort
the entities.
order:
type: string
enum:
- ASC
- DESC
title: Order
description: The order in which to sort the
entities.
required:
- property
- order
required:
- type
required:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A jq query that runs on the action's
inputs and resolves to a boolean value (`true` =
required).
title: jqQuery
- type: array
description: The identifiers of the required inputs.
items:
type: string
title: array
titles:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 140
minLength: 1
description:
type: string
maxLength: 1000
visible:
anyOf:
- type: boolean
- $ref: '#/components/schemas/def-0'
steps:
type: array
description: The steps of the user inputs. Each step
is an object containing its title and the order of
its properties.
items:
type: object
properties:
title:
type: string
description: The title of the step.
order:
type: array
description: The order of the properties in the
step - an array of property identifiers.
items:
type: string
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the step.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the step.
title: boolean
title: Visible
description: The visibility of the step. Resolves
to a boolean value (`true` = visible).
required:
- title
additionalProperties: false
required:
- properties
- steps
additionalProperties: false
description: The [user inputs](https://docs.port.io/create-self-service-experiences/setup-ui-for-action/user-inputs/)
of the action.
actionCardButtonText:
type: string
maxLength: 15
minLength: 1
pattern: ^[^\s].*[^\s]$
executeActionButtonText:
type: string
maxLength: 15
minLength: 1
pattern: ^[^\s].*[^\s]$
required:
- type
- userInputs
- operation
additionalProperties: false
title: Self-service (CREATE)
- type: object
description: The trigger definition of the action.
properties:
type:
type: string
enum:
- automation
event:
description: The [event](https://docs.port.io/actions-and-automations/define-automations/setup-trigger)
that triggers the action.
oneOf:
- type: object
properties:
type:
type: string
enum:
- ENTITY_CREATED
blueprintIdentifier:
type: string
description: The identifier of the blueprint whose entities
will trigger the automation.
required:
- type
- blueprintIdentifier
additionalProperties: false
title: Entity created
- type: object
properties:
type:
type: string
enum:
- ENTITY_UPDATED
blueprintIdentifier:
type: string
description: The identifier of the blueprint whose entities
will trigger the automation.
required:
- type
- blueprintIdentifier
additionalProperties: false
title: Entity updated
- type: object
properties:
type:
type: string
enum:
- ENTITY_DELETED
blueprintIdentifier:
type: string
description: The identifier of the blueprint whose entities
will trigger the automation.
required:
- type
- blueprintIdentifier
additionalProperties: false
title: Entity deleted
- type: object
properties:
type:
type: string
enum:
- TIMER_PROPERTY_EXPIRED
blueprintIdentifier:
type: string
description: The identifier of the blueprint whose entities
will trigger the automation.
propertyIdentifier:
type: string
description: The identifier of the timer property in
the specified blueprint.
required:
- type
- blueprintIdentifier
- propertyIdentifier
additionalProperties: false
title: Timer property expired
- type: object
properties:
type:
type: string
enum:
- ANY_ENTITY_CHANGE
blueprintIdentifier:
type: string
description: The identifier of the blueprint whose entities
will trigger the automation.
required:
- type
- blueprintIdentifier
additionalProperties: false
title: Any entity change
- type: object
properties:
type:
type: string
enum:
- RUN_CREATED
actionIdentifier:
type: string
required:
- type
- actionIdentifier
additionalProperties: false
title: Run created
- type: object
properties:
type:
type: string
enum:
- RUN_UPDATED
actionIdentifier:
type: string
required:
- type
- actionIdentifier
additionalProperties: false
title: Run updated
- type: object
properties:
type:
type: string
enum:
- ANY_RUN_CHANGE
actionIdentifier:
type: string
required:
- type
- actionIdentifier
additionalProperties: false
title: Any run change
condition:
description: Filters used to include/exclude specific entities
from the automation.
oneOf:
- type: object
properties:
type:
type: string
enum:
- JQ
expressions:
type: array
items:
type: string
description: An array of [jq expressions](https://docs.port.io/search-and-query/structure-and-syntax)
used to filter entities.
Read more [here](https://docs.port.io/actions-and-automations/define-automations/setup-trigger#conditions).
combinator:
type: string
enum:
- and
- or
required:
- type
- expressions
additionalProperties: false
title: JQ
required:
- type
- event
additionalProperties: false
title: Automation
invocationMethod:
description: Details the action's backend type and details.
oneOf:
- type: object
properties:
type:
type: string
enum:
- KAFKA
payload:
description: An object containing the [action payload](https://docs.port.io/create-self-service-experiences/setup-backend/#define-the-actions-payload).
oneOf:
- type: array
- type: object
required:
- type
additionalProperties: false
title: Kafka
- type: object
properties:
type:
type: string
enum:
- WEBHOOK
url:
type: string
description: The URL of the webhook.
agent:
oneOf:
- type: boolean
- type: string
description: If `true`, Port's [execution agent](https://docs.port.io/create-self-service-experiences/setup-backend/webhook/port-execution-agent/)
will be used to handle invocations of this action.
synchronized:
oneOf:
- type: boolean
- type: string
description: If `true`, the action will be executed [synchronously](https://docs.port.io/create-self-service-experiences/setup-backend/webhook/#sync-vs-async-execution).
method:
type: string
description: The HTTP method of the webhook (`POST`, `PUT`,
`PATCH`, or `DELETE`).
headers:
type: object
additionalProperties:
type: string
description: A JSON object containing the headers to be sent
to the webhook in each execution, in `"key"`:`"value"` pairs.
body:
oneOf:
- type: array
- type: object
description: The body sent to the webhook in each execution.
This is where the [action payload](https://docs.port.io/create-self-service-experiences/setup-backend/#define-the-actions-payload)
is specified.
required:
- type
- url
additionalProperties: false
title: Webhook
- type: object
properties:
type:
type: string
enum:
- GITHUB
org:
type: string
repo:
type: string
workflow:
type: string
workflowInputs:
type: object
reportWorkflowStatus:
oneOf:
- type: boolean
- type: string
required:
- type
- org
- repo
- workflow
additionalProperties: false
title: GitHub
- type: object
properties:
type:
type: string
enum:
- INTEGRATION_ACTION
installationId:
type: string
integrationActionType:
type: string
enum:
- dispatch_workflow
integrationActionExecutionProperties:
type: object
required:
- type
- installationId
- integrationActionType
- integrationActionExecutionProperties
additionalProperties: false
title: Integration Action
- type: object
properties:
type:
type: string
enum:
- GITLAB
projectName:
type: string
groupName:
type: string
defaultRef:
type: string
pipelineVariables:
type: object
required:
- type
- projectName
- groupName
additionalProperties: false
title: GitLab
- type: object
properties:
type:
type: string
enum:
- AZURE_DEVOPS
webhook:
type: string
org:
type: string
payload:
oneOf:
- type: array
- type: object
required:
- type
- webhook
- org
additionalProperties: false
title: Azure DevOps
- type: object
properties:
type:
type: string
enum:
- UPSERT_ENTITY
blueprintIdentifier:
type: string
mapping:
type: object
properties:
identifier:
type: string
title:
type: string
team:
oneOf:
- type: string
- type: array
items:
type: string
icon:
type: string
properties:
type: object
relations:
type: object
additionalProperties:
oneOf:
- type: string
- type: array
items:
type: string
- type: 'null'
required: []
required:
- type
- blueprintIdentifier
- mapping
additionalProperties: false
title: Upsert Entity
requiredApproval:
description: Determines whether the action requires approval before
execution.
Choose `ALL` to require all specified users to
approve the action, or `ANY` to require only one.
oneOf:
- type: object
properties:
type:
type: string
enum:
- ANY
- ALL
required:
- type
additionalProperties: false
title: User/s
- type: boolean
title: boolean
approvalNotification:
type: object
description: The notification configuration for the approval process.
Relevant only if `requiredApproval` is set to `true`.
properties:
type:
type: string
enum:
- webhook
- email
default: email
oneOf:
- type: object
properties:
type:
type: string
enum:
- webhook
format:
type: string
enum:
- json
- slack
url:
type: string
format: uri
required:
- type
- url
additionalProperties: false
title: Webhook
- type: object
properties:
type:
type: string
enum:
- email
required:
- type
additionalProperties: false
title: Email
required:
- type
publish:
type: boolean
description: Only relevant for **automations**. If `false`, the
automation will be inactive (will not be triggered).
allowAnyoneToViewRuns:
type: boolean
description: Whether members can view the runs of this action.
additionalProperties: false
required:
- identifier
- trigger
- invocationMethod
required: true
security:
- bearer:
- create:actions
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
get:
summary: Get actions/automations
tags:
- Actions
description: 'This route allows you to fetch one or more self-service actions
and/or automations in your Port account.
The call will perform a
logical `AND` between all query parameters below, and return all actions and
automations that match the criteria.
To learn more about actions
and automations, check out the [documentation](https://docs.port.io/actions-and-automations/).
:::info
Version parameter
Set the `version` parameter to `v2` for the latest version
of the API.:::'
parameters:
- schema:
type: array
items:
type: string
in: query
name: action_identifier
required: false
description: The identifier/s of the action/s and/or automation/s you want
to fetch.
- schema:
type: array
items:
type: string
in: query
name: blueprint_identifier
required: false
description: The identifier/s of the blueprint/s whose actions/automations
you wish to fetch.
- schema:
type: array
items:
type: string
enum:
- DAY-2
- DELETE
- CREATE
in: query
name: operation
required: false
description: The [operation type/s](https://docs.port.io/create-self-service-experiences/setup-ui-for-action/#basic-details)
of the action/s you want to fetch. Relevant only for self-service actions.
- schema:
type: boolean
in: query
name: published
required: false
description: Only relevant for **automations**. If `true`, only published
automations will be fetched.
- schema:
type: string
enum:
- self-service
- automation
in: query
name: trigger_type
required: false
- schema:
type: array
items:
type: string
enum:
- ENTITY_CREATED
- ENTITY_UPDATED
- ENTITY_DELETED
- TIMER_PROPERTY_EXPIRED
- ANY_ENTITY_CHANGE
- RUN_CREATED
- RUN_UPDATED
- ANY_RUN_CHANGE
in: query
name: trigger_event
required: false
description: The event/s that triggered the automation/s you want to fetch.
Relevant only for automations.
- schema:
type: array
items:
type: string
in: query
name: trigger_event_action_identifier
required: false
- schema:
type: string
enum:
- v1
- v2
in: query
name: version
required: false
description: Specifies the API version to use. Please use `v2` for the latest
version of the API.
security:
- bearer:
- read:actions
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/actions/{action_identifier}:
put:
summary: Change an action/automation
tags:
- Actions
description: This route allows you to change the details of an existing self-service
action or automation in your Port account.
To learn more about actions
and automations, check out the [documentation](https://docs.port.io/actions-and-automations/).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:=-]+$
description: The identifier of the action.
title:
type: string
description: The title of the action.
icon:
type: string
description: The icon of the action.
description:
type: string
description: The description of the action.
trigger:
oneOf:
- type: object
description: The trigger definition of the action.
properties:
operation:
type: string
enum:
- DAY-2
- DELETE
description: The [operation type](https://docs.port.io/create-self-service-experiences/setup-ui-for-action/#basic-details)
of the action.
type:
type: string
enum:
- self-service
blueprintIdentifier:
type: string
description: The identifier of the blueprint that the action
is associated with.
Note that this is optional, as actions
do not have to be tied directly to a blueprint.
userInputs:
oneOf:
- type: object
title: Default order
description: Use this option when you don't want to define
a custom order/steps for the user inputs.
properties:
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
title: Type
description: The type of the input.
jqQuery:
type: 'null'
format:
enum:
- date-time
- url
- email
- ipv4
- ipv6
- yaml
- entity
- user
- team
- proto
- markdown
- multi-line
- labeled-url
title: Format
description: The format of the input.
blueprint:
type: string
title: Blueprint
description: When using the `entity` format, this
is the identifier of the blueprint whose entities
will be selectable via this input.
dependsOn:
type: array
items:
type: string
title: Depends On
description: The identifiers of the inputs that
this input depends on. This input will be disabled
until they have been given a value.
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the input.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the input.
title: boolean
title: Visible
description: The visibility of the input. Resolves
to a boolean value (`true` = visible).
icon:
type: string
title: Icon
description: The icon of the input.
dataset:
$ref: '#/components/schemas/def-2'
title: Dataset
description: The dataset to use for entity selection
inputs.
sort:
type: object
title: Sort
description: Relevant only for `Entity selection`
inputs (`type` = `string` and `format` = `entity`).
This
input allows you to sort the entities in the
dropdown by a specific property.
properties:
property:
type: string
title: Property
description: The property by which to sort
the entities.
order:
type: string
enum:
- ASC
- DESC
title: Order
description: The order in which to sort the
entities.
required:
- property
- order
required:
- type
titles:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 140
minLength: 1
description:
type: string
maxLength: 1000
visible:
anyOf:
- type: boolean
- $ref: '#/components/schemas/def-0'
required:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A jq query that runs on the action's
inputs and resolves to a boolean value (`true` =
required).
title: jqQuery
- type: array
description: The identifiers of the required inputs.
items:
type: string
title: array
required:
- properties
additionalProperties: false
- type: object
title: Custom order
description: Use this option when you want to define a custom
order for the user inputs.
properties:
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
title: Type
description: The type of the input.
jqQuery:
type: 'null'
format:
enum:
- date-time
- url
- email
- ipv4
- ipv6
- yaml
- entity
- user
- team
- proto
- markdown
- multi-line
- labeled-url
title: Format
description: The format of the input.
blueprint:
type: string
title: Blueprint
description: When using the `entity` format, this
is the identifier of the blueprint whose entities
will be selectable via this input.
dependsOn:
type: array
items:
type: string
title: Depends On
description: The identifiers of the inputs that
this input depends on. This input will be disabled
until they have been given a value.
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the input.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the input.
title: boolean
title: Visible
description: The visibility of the input. Resolves
to a boolean value (`true` = visible).
icon:
type: string
title: Icon
description: The icon of the input.
dataset:
$ref: '#/components/schemas/def-2'
title: Dataset
description: The dataset to use for entity selection
inputs.
sort:
type: object
title: Sort
description: Relevant only for `Entity selection`
inputs (`type` = `string` and `format` = `entity`).
This
input allows you to sort the entities in the
dropdown by a specific property.
properties:
property:
type: string
title: Property
description: The property by which to sort
the entities.
order:
type: string
enum:
- ASC
- DESC
title: Order
description: The order in which to sort the
entities.
required:
- property
- order
required:
- type
required:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A jq query that runs on the action's
inputs and resolves to a boolean value (`true` =
required).
title: jqQuery
- type: array
description: The identifiers of the required inputs.
items:
type: string
title: array
titles:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 140
minLength: 1
description:
type: string
maxLength: 1000
visible:
anyOf:
- type: boolean
- $ref: '#/components/schemas/def-0'
order:
type: array
items:
type: string
required:
- properties
- order
additionalProperties: false
- type: object
title: Custom steps
description: Use this option when you want to define custom
steps for the user inputs.
properties:
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
title: Type
description: The type of the input.
jqQuery:
type: 'null'
format:
enum:
- date-time
- url
- email
- ipv4
- ipv6
- yaml
- entity
- user
- team
- proto
- markdown
- multi-line
- labeled-url
title: Format
description: The format of the input.
blueprint:
type: string
title: Blueprint
description: When using the `entity` format, this
is the identifier of the blueprint whose entities
will be selectable via this input.
dependsOn:
type: array
items:
type: string
title: Depends On
description: The identifiers of the inputs that
this input depends on. This input will be disabled
until they have been given a value.
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the input.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the input.
title: boolean
title: Visible
description: The visibility of the input. Resolves
to a boolean value (`true` = visible).
icon:
type: string
title: Icon
description: The icon of the input.
dataset:
$ref: '#/components/schemas/def-2'
title: Dataset
description: The dataset to use for entity selection
inputs.
sort:
type: object
title: Sort
description: Relevant only for `Entity selection`
inputs (`type` = `string` and `format` = `entity`).
This
input allows you to sort the entities in the
dropdown by a specific property.
properties:
property:
type: string
title: Property
description: The property by which to sort
the entities.
order:
type: string
enum:
- ASC
- DESC
title: Order
description: The order in which to sort the
entities.
required:
- property
- order
required:
- type
required:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A jq query that runs on the action's
inputs and resolves to a boolean value (`true` =
required).
title: jqQuery
- type: array
description: The identifiers of the required inputs.
items:
type: string
title: array
titles:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 140
minLength: 1
description:
type: string
maxLength: 1000
visible:
anyOf:
- type: boolean
- $ref: '#/components/schemas/def-0'
steps:
type: array
description: The steps of the user inputs. Each step
is an object containing its title and the order of
its properties.
items:
type: object
properties:
title:
type: string
description: The title of the step.
order:
type: array
description: The order of the properties in the
step - an array of property identifiers.
items:
type: string
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the step.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the step.
title: boolean
title: Visible
description: The visibility of the step. Resolves
to a boolean value (`true` = visible).
required:
- title
additionalProperties: false
required:
- properties
- steps
additionalProperties: false
description: The [user inputs](https://docs.port.io/create-self-service-experiences/setup-ui-for-action/user-inputs/)
of the action.
actionCardButtonText:
type: string
maxLength: 15
minLength: 1
pattern: ^[^\s].*[^\s]$
executeActionButtonText:
type: string
maxLength: 15
minLength: 1
pattern: ^[^\s].*[^\s]$
condition:
type: object
description: Filters used to include/exclude specific entities
from the action.
additionalProperties: false
properties:
type:
type: string
enum:
- SEARCH
rules:
type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
combinator:
type: string
enum:
- and
- or
required:
- type
- rules
- combinator
dependencies:
condition:
- blueprintIdentifier
required:
- type
- userInputs
- operation
additionalProperties: false
title: Self-service (DAY-2/DELETE)
- type: object
description: The trigger definition of the action.
properties:
operation:
type: string
enum:
- CREATE
description: The [operation type](https://docs.port.io/create-self-service-experiences/setup-ui-for-action/#basic-details)
of the action.
type:
type: string
enum:
- self-service
blueprintIdentifier:
type: string
description: The identifier of the blueprint that the action
is associated with.
Note that this is optional, as actions
do not have to be tied directly to a blueprint.
userInputs:
oneOf:
- type: object
title: Default order
description: Use this option when you don't want to define
a custom order/steps for the user inputs.
properties:
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
title: Type
description: The type of the input.
jqQuery:
type: 'null'
format:
enum:
- date-time
- url
- email
- ipv4
- ipv6
- yaml
- entity
- user
- team
- proto
- markdown
- multi-line
- labeled-url
title: Format
description: The format of the input.
blueprint:
type: string
title: Blueprint
description: When using the `entity` format, this
is the identifier of the blueprint whose entities
will be selectable via this input.
dependsOn:
type: array
items:
type: string
title: Depends On
description: The identifiers of the inputs that
this input depends on. This input will be disabled
until they have been given a value.
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the input.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the input.
title: boolean
title: Visible
description: The visibility of the input. Resolves
to a boolean value (`true` = visible).
icon:
type: string
title: Icon
description: The icon of the input.
dataset:
$ref: '#/components/schemas/def-2'
title: Dataset
description: The dataset to use for entity selection
inputs.
sort:
type: object
title: Sort
description: Relevant only for `Entity selection`
inputs (`type` = `string` and `format` = `entity`).
This
input allows you to sort the entities in the
dropdown by a specific property.
properties:
property:
type: string
title: Property
description: The property by which to sort
the entities.
order:
type: string
enum:
- ASC
- DESC
title: Order
description: The order in which to sort the
entities.
required:
- property
- order
required:
- type
titles:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 140
minLength: 1
description:
type: string
maxLength: 1000
visible:
anyOf:
- type: boolean
- $ref: '#/components/schemas/def-0'
required:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A jq query that runs on the action's
inputs and resolves to a boolean value (`true` =
required).
title: jqQuery
- type: array
description: The identifiers of the required inputs.
items:
type: string
title: array
required:
- properties
additionalProperties: false
- type: object
title: Custom order
description: Use this option when you want to define a custom
order for the user inputs.
properties:
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
title: Type
description: The type of the input.
jqQuery:
type: 'null'
format:
enum:
- date-time
- url
- email
- ipv4
- ipv6
- yaml
- entity
- user
- team
- proto
- markdown
- multi-line
- labeled-url
title: Format
description: The format of the input.
blueprint:
type: string
title: Blueprint
description: When using the `entity` format, this
is the identifier of the blueprint whose entities
will be selectable via this input.
dependsOn:
type: array
items:
type: string
title: Depends On
description: The identifiers of the inputs that
this input depends on. This input will be disabled
until they have been given a value.
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the input.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the input.
title: boolean
title: Visible
description: The visibility of the input. Resolves
to a boolean value (`true` = visible).
icon:
type: string
title: Icon
description: The icon of the input.
dataset:
$ref: '#/components/schemas/def-2'
title: Dataset
description: The dataset to use for entity selection
inputs.
sort:
type: object
title: Sort
description: Relevant only for `Entity selection`
inputs (`type` = `string` and `format` = `entity`).
This
input allows you to sort the entities in the
dropdown by a specific property.
properties:
property:
type: string
title: Property
description: The property by which to sort
the entities.
order:
type: string
enum:
- ASC
- DESC
title: Order
description: The order in which to sort the
entities.
required:
- property
- order
required:
- type
required:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A jq query that runs on the action's
inputs and resolves to a boolean value (`true` =
required).
title: jqQuery
- type: array
description: The identifiers of the required inputs.
items:
type: string
title: array
titles:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 140
minLength: 1
description:
type: string
maxLength: 1000
visible:
anyOf:
- type: boolean
- $ref: '#/components/schemas/def-0'
order:
type: array
items:
type: string
required:
- properties
- order
additionalProperties: false
- type: object
title: Custom steps
description: Use this option when you want to define custom
steps for the user inputs.
properties:
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
type:
enum:
- string
- number
- boolean
- object
- array
title: Type
description: The type of the input.
jqQuery:
type: 'null'
format:
enum:
- date-time
- url
- email
- ipv4
- ipv6
- yaml
- entity
- user
- team
- proto
- markdown
- multi-line
- labeled-url
title: Format
description: The format of the input.
blueprint:
type: string
title: Blueprint
description: When using the `entity` format, this
is the identifier of the blueprint whose entities
will be selectable via this input.
dependsOn:
type: array
items:
type: string
title: Depends On
description: The identifiers of the inputs that
this input depends on. This input will be disabled
until they have been given a value.
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the input.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the input.
title: boolean
title: Visible
description: The visibility of the input. Resolves
to a boolean value (`true` = visible).
icon:
type: string
title: Icon
description: The icon of the input.
dataset:
$ref: '#/components/schemas/def-2'
title: Dataset
description: The dataset to use for entity selection
inputs.
sort:
type: object
title: Sort
description: Relevant only for `Entity selection`
inputs (`type` = `string` and `format` = `entity`).
This
input allows you to sort the entities in the
dropdown by a specific property.
properties:
property:
type: string
title: Property
description: The property by which to sort
the entities.
order:
type: string
enum:
- ASC
- DESC
title: Order
description: The order in which to sort the
entities.
required:
- property
- order
required:
- type
required:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A jq query that runs on the action's
inputs and resolves to a boolean value (`true` =
required).
title: jqQuery
- type: array
description: The identifiers of the required inputs.
items:
type: string
title: array
titles:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
additionalProperties:
type: object
properties:
title:
type: string
maxLength: 140
minLength: 1
description:
type: string
maxLength: 1000
visible:
anyOf:
- type: boolean
- $ref: '#/components/schemas/def-0'
steps:
type: array
description: The steps of the user inputs. Each step
is an object containing its title and the order of
its properties.
items:
type: object
properties:
title:
type: string
description: The title of the step.
order:
type: array
description: The order of the properties in the
step - an array of property identifiers.
items:
type: string
visible:
oneOf:
- $ref: '#/components/schemas/def-0'
description: A [jq query](https://stedolan.github.io/jq/manual/)
that resolves to `true` or `false`, determining
the visibility of the step.
title: jqQuery
- type: boolean
description: A boolean value determining the
visibility of the step.
title: boolean
title: Visible
description: The visibility of the step. Resolves
to a boolean value (`true` = visible).
required:
- title
additionalProperties: false
required:
- properties
- steps
additionalProperties: false
description: The [user inputs](https://docs.port.io/create-self-service-experiences/setup-ui-for-action/user-inputs/)
of the action.
actionCardButtonText:
type: string
maxLength: 15
minLength: 1
pattern: ^[^\s].*[^\s]$
executeActionButtonText:
type: string
maxLength: 15
minLength: 1
pattern: ^[^\s].*[^\s]$
required:
- type
- userInputs
- operation
additionalProperties: false
title: Self-service (CREATE)
- type: object
description: The trigger definition of the action.
properties:
type:
type: string
enum:
- automation
event:
description: The [event](https://docs.port.io/actions-and-automations/define-automations/setup-trigger)
that triggers the action.
oneOf:
- type: object
properties:
type:
type: string
enum:
- ENTITY_CREATED
blueprintIdentifier:
type: string
description: The identifier of the blueprint whose entities
will trigger the automation.
required:
- type
- blueprintIdentifier
additionalProperties: false
title: Entity created
- type: object
properties:
type:
type: string
enum:
- ENTITY_UPDATED
blueprintIdentifier:
type: string
description: The identifier of the blueprint whose entities
will trigger the automation.
required:
- type
- blueprintIdentifier
additionalProperties: false
title: Entity updated
- type: object
properties:
type:
type: string
enum:
- ENTITY_DELETED
blueprintIdentifier:
type: string
description: The identifier of the blueprint whose entities
will trigger the automation.
required:
- type
- blueprintIdentifier
additionalProperties: false
title: Entity deleted
- type: object
properties:
type:
type: string
enum:
- TIMER_PROPERTY_EXPIRED
blueprintIdentifier:
type: string
description: The identifier of the blueprint whose entities
will trigger the automation.
propertyIdentifier:
type: string
description: The identifier of the timer property in
the specified blueprint.
required:
- type
- blueprintIdentifier
- propertyIdentifier
additionalProperties: false
title: Timer property expired
- type: object
properties:
type:
type: string
enum:
- ANY_ENTITY_CHANGE
blueprintIdentifier:
type: string
description: The identifier of the blueprint whose entities
will trigger the automation.
required:
- type
- blueprintIdentifier
additionalProperties: false
title: Any entity change
- type: object
properties:
type:
type: string
enum:
- RUN_CREATED
actionIdentifier:
type: string
required:
- type
- actionIdentifier
additionalProperties: false
title: Run created
- type: object
properties:
type:
type: string
enum:
- RUN_UPDATED
actionIdentifier:
type: string
required:
- type
- actionIdentifier
additionalProperties: false
title: Run updated
- type: object
properties:
type:
type: string
enum:
- ANY_RUN_CHANGE
actionIdentifier:
type: string
required:
- type
- actionIdentifier
additionalProperties: false
title: Any run change
condition:
description: Filters used to include/exclude specific entities
from the automation.
oneOf:
- type: object
properties:
type:
type: string
enum:
- JQ
expressions:
type: array
items:
type: string
description: An array of [jq expressions](https://docs.port.io/search-and-query/structure-and-syntax)
used to filter entities.
Read more [here](https://docs.port.io/actions-and-automations/define-automations/setup-trigger#conditions).
combinator:
type: string
enum:
- and
- or
required:
- type
- expressions
additionalProperties: false
title: JQ
required:
- type
- event
additionalProperties: false
title: Automation
invocationMethod:
description: Details the action's backend type and details.
oneOf:
- type: object
properties:
type:
type: string
enum:
- KAFKA
payload:
description: An object containing the [action payload](https://docs.port.io/create-self-service-experiences/setup-backend/#define-the-actions-payload).
oneOf:
- type: array
- type: object
required:
- type
additionalProperties: false
title: Kafka
- type: object
properties:
type:
type: string
enum:
- WEBHOOK
url:
type: string
description: The URL of the webhook.
agent:
oneOf:
- type: boolean
- type: string
description: If `true`, Port's [execution agent](https://docs.port.io/create-self-service-experiences/setup-backend/webhook/port-execution-agent/)
will be used to handle invocations of this action.
synchronized:
oneOf:
- type: boolean
- type: string
description: If `true`, the action will be executed [synchronously](https://docs.port.io/create-self-service-experiences/setup-backend/webhook/#sync-vs-async-execution).
method:
type: string
description: The HTTP method of the webhook (`POST`, `PUT`,
`PATCH`, or `DELETE`).
headers:
type: object
additionalProperties:
type: string
description: A JSON object containing the headers to be sent
to the webhook in each execution, in `"key"`:`"value"` pairs.
body:
oneOf:
- type: array
- type: object
description: The body sent to the webhook in each execution.
This is where the [action payload](https://docs.port.io/create-self-service-experiences/setup-backend/#define-the-actions-payload)
is specified.
required:
- type
- url
additionalProperties: false
title: Webhook
- type: object
properties:
type:
type: string
enum:
- GITHUB
org:
type: string
repo:
type: string
workflow:
type: string
workflowInputs:
type: object
reportWorkflowStatus:
oneOf:
- type: boolean
- type: string
required:
- type
- org
- repo
- workflow
additionalProperties: false
title: GitHub
- type: object
properties:
type:
type: string
enum:
- INTEGRATION_ACTION
installationId:
type: string
integrationActionType:
type: string
enum:
- dispatch_workflow
integrationActionExecutionProperties:
type: object
required:
- type
- installationId
- integrationActionType
- integrationActionExecutionProperties
additionalProperties: false
title: Integration Action
- type: object
properties:
type:
type: string
enum:
- GITLAB
projectName:
type: string
groupName:
type: string
defaultRef:
type: string
pipelineVariables:
type: object
required:
- type
- projectName
- groupName
additionalProperties: false
title: GitLab
- type: object
properties:
type:
type: string
enum:
- AZURE_DEVOPS
webhook:
type: string
org:
type: string
payload:
oneOf:
- type: array
- type: object
required:
- type
- webhook
- org
additionalProperties: false
title: Azure DevOps
- type: object
properties:
type:
type: string
enum:
- UPSERT_ENTITY
blueprintIdentifier:
type: string
mapping:
type: object
properties:
identifier:
type: string
title:
type: string
team:
oneOf:
- type: string
- type: array
items:
type: string
icon:
type: string
properties:
type: object
relations:
type: object
additionalProperties:
oneOf:
- type: string
- type: array
items:
type: string
- type: 'null'
required: []
required:
- type
- blueprintIdentifier
- mapping
additionalProperties: false
title: Upsert Entity
requiredApproval:
description: Determines whether the action requires approval before
execution.
Choose `ALL` to require all specified users to
approve the action, or `ANY` to require only one.
oneOf:
- type: object
properties:
type:
type: string
enum:
- ANY
- ALL
required:
- type
additionalProperties: false
title: User/s
- type: boolean
title: boolean
approvalNotification:
type: object
description: The notification configuration for the approval process.
Relevant only if `requiredApproval` is set to `true`.
properties:
type:
type: string
enum:
- webhook
- email
default: email
oneOf:
- type: object
properties:
type:
type: string
enum:
- webhook
format:
type: string
enum:
- json
- slack
url:
type: string
format: uri
required:
- type
- url
additionalProperties: false
title: Webhook
- type: object
properties:
type:
type: string
enum:
- email
required:
- type
additionalProperties: false
title: Email
required:
- type
publish:
type: boolean
description: Only relevant for **automations**. If `false`, the
automation will be inactive (will not be triggered).
allowAnyoneToViewRuns:
type: boolean
description: Whether members can view the runs of this action.
additionalProperties: false
required:
- identifier
- trigger
- invocationMethod
required: true
parameters:
- schema:
type: string
minLength: 1
in: path
name: action_identifier
required: true
description: The identifier of the action/automation you want to operate on.
security:
- bearer:
- update:actions
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
get:
summary: Get an action/automation
tags:
- Actions
description: This route allows you to fetch the details of a self-service action
or automation.
To learn more about actions and automations, check
out the [documentation](https://docs.port.io/actions-and-automations/).
parameters:
- schema:
type: string
minLength: 1
in: path
name: action_identifier
required: true
description: The identifier of the action/automation you want to operate on.
security:
- bearer:
- read:actions
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
delete:
summary: Delete an action/automation
tags:
- Actions
description: This route allows you to delete a self-service action or automation.
To
learn more about actions and automations, check out the [documentation](https://docs.port.io/actions-and-automations/).
parameters:
- schema:
type: string
minLength: 1
in: path
name: action_identifier
required: true
description: The identifier of the action/automation you want to operate on.
security:
- bearer:
- delete:actions
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/blueprints/{blueprint_identifier}/actions:
post:
summary: This route is deprecated since November 20th 2024
tags:
- Actions
description: This route is deprecated since November 20th 2024
requestBody:
content:
application/json:
schema:
type: object
nullable: true
parameters:
- schema: object
in: path
name: type
required: true
- schema: true
in: path
name: nullable
required: true
deprecated: true
security:
- bearer:
- create:actions
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
put:
summary: This route is deprecated since November 20th 2024
tags:
- Actions
description: This route is deprecated since November 20th 2024
requestBody:
content:
application/json:
schema:
type: object
nullable: true
parameters:
- schema: object
in: path
name: type
required: true
- schema: true
in: path
name: nullable
required: true
deprecated: true
security:
- bearer:
- update:actions
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
get:
summary: This route is deprecated since November 20th 2024
tags:
- Actions
description: This route is deprecated since November 20th 2024
parameters:
- schema: object
in: path
name: type
required: true
- schema: true
in: path
name: nullable
required: true
deprecated: true
security:
- bearer:
- read:actions
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/blueprints/{blueprint_identifier}/actions/{action_identifier}:
put:
summary: This route is deprecated since November 20th 2024
tags:
- Actions
description: This route is deprecated since November 20th 2024
requestBody:
content:
application/json:
schema:
type: object
nullable: true
parameters:
- schema: object
in: path
name: type
required: true
- schema: true
in: path
name: nullable
required: true
deprecated: true
security:
- bearer:
- update:actions
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
get:
summary: This route is deprecated since November 20th 2024
tags:
- Actions
description: This route is deprecated since November 20th 2024
parameters:
- schema: object
in: path
name: type
required: true
- schema: true
in: path
name: nullable
required: true
deprecated: true
security:
- bearer:
- read:actions
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
delete:
summary: This route is deprecated since November 20th 2024
tags:
- Actions
description: This route is deprecated since November 20th 2024
parameters:
- schema: object
in: path
name: type
required: true
- schema: true
in: path
name: nullable
required: true
deprecated: true
security:
- bearer:
- delete:actions
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/actions/{action_identifier}/runs:
post:
summary: Execute a self-service action
tags:
- Action Runs
description: This route allows you to execute a self-service action, thus creating
an action run.
To learn more about action runs, check out the [documentation](https://docs.port.io/create-self-service-experiences/reflect-action-progress/).
requestBody:
content:
application/json:
schema:
type: object
properties:
properties:
type: object
description: The action's user inputs, in `"key"`:`"value"` pairs,
where the key is the input's identifier and the value is the input's
value.
entity:
type: string
description: The identifier of the entity that the action will be
executed on, if relevant.
additionalProperties: false
required:
- properties
required: true
parameters:
- schema:
type: string
format: email
in: query
name: run_as
required: false
description: The executing user of the action. If not provided, the action
will be run on behalf of the user/machine who initiated the action (identified
by the bearer token used to execute this route).
- schema:
type: string
minLength: 1
in: path
name: action_identifier
required: true
description: The identifier of the action/automation you want to operate on.
security:
- bearer: []
responses:
'202':
description: OK
content:
application/json:
schema:
properties:
ok:
enum:
- true
run:
type: object
properties:
id:
type: string
blueprint:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
entity:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
action:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
properties:
type: object
rawProperties:
type: object
endedAt:
type: string
format: date-time
source:
type:
- string
- object
requiredApproval:
type:
- boolean
- object
properties:
type:
type: string
enum:
- ALL
- ANY
required:
- type
status:
type: string
statusLabel:
type:
- string
- 'null'
link:
type:
- array
- string
items:
type: string
summary:
type: string
approval:
type:
- object
- 'null'
properties:
description:
type: string
userId:
type:
- string
- 'null'
impersonatedUserId:
type:
- string
- 'null'
state:
type: string
payload:
type:
- object
- 'null'
properties:
type:
type: string
url:
type: string
format: uri
agent:
type: boolean
synchronized:
type: boolean
method:
type: string
headers:
type: object
properties:
RUN_ID:
type: string
body:
type: object
properties:
port_context:
type: object
properties:
runId:
type: string
response:
type:
- string
- array
- object
items: {}
pendingExecution:
type: boolean
claimedUntil:
type: string
format: date-time
installationId:
type: string
createdBy:
type: string
impersonatedBy:
type: string
impersonatedUserId:
type: string
updatedBy:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- id
- action
- properties
- requiredApproval
- source
- status
required:
- ok
additionalProperties: false
description: OK
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/actions/runs/{run_id}:
patch:
summary: Update an action run
tags:
- Action Runs
description: This route allows you to update an action run's details. This can
be used to update the run's status & label, and add links to it (e.g. external
logs of the job runner).
To learn more about action runs, check out
the [documentation](https://docs.port.io/create-self-service-experiences/reflect-action-progress/).
requestBody:
content:
application/json:
schema:
type: object
properties:
status:
type: string
enum:
- SUCCESS
- FAILURE
statusLabel:
type: string
description: A label to describe the status of the action run.
link:
description: One or more links to be displayed in the run's page
in Port. For example, a link to the external logs of the job runner.
oneOf:
- type: string
title: string
- type: array
title: array
items:
type: string
message:
type: object
deprecated: true
summary:
type: string
description: A summary of the action run, which will be displayed
in the run's page in Port.
externalRunId:
type: string
description: The run id of your backend, for example the id that
GitHub gives the workflow. This can be used to identify the action
run instead of the `run_id`.
additionalProperties: false
parameters:
- schema:
type: string
enum:
- v1
- v2
in: query
name: version
required: false
description: Specifies the API version to use. Please use `v2` for the latest
version of the API.
- schema:
type: string
in: path
name: run_id
required: true
description: The identifier of the action run.
security:
- bearer: []
responses:
'200':
description: OK
content:
application/json:
schema:
properties:
ok:
enum:
- true
run:
type: object
properties:
id:
type: string
blueprint:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
entity:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
action:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
properties:
type: object
rawProperties:
type: object
endedAt:
type: string
format: date-time
source:
type:
- string
- object
requiredApproval:
type:
- boolean
- object
properties:
type:
type: string
enum:
- ALL
- ANY
required:
- type
status:
type: string
statusLabel:
type:
- string
- 'null'
link:
type:
- array
- string
items:
type: string
summary:
type: string
approval:
type:
- object
- 'null'
properties:
description:
type: string
userId:
type:
- string
- 'null'
impersonatedUserId:
type:
- string
- 'null'
state:
type: string
payload:
type:
- object
- 'null'
properties:
type:
type: string
url:
type: string
format: uri
agent:
type: boolean
synchronized:
type: boolean
method:
type: string
headers:
type: object
properties:
RUN_ID:
type: string
body:
type: object
properties:
port_context:
type: object
properties:
runId:
type: string
response:
type:
- string
- array
- object
items: {}
pendingExecution:
type: boolean
claimedUntil:
type: string
format: date-time
installationId:
type: string
createdBy:
type: string
impersonatedBy:
type: string
impersonatedUserId:
type: string
updatedBy:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- id
- action
- properties
- requiredApproval
- source
- status
required:
- ok
additionalProperties: false
description: OK
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
get:
summary: Get an action run's details
tags:
- Action Runs
description: 'This route allows you to fetch the details of an action run.
To
learn more about action runs, check out the [documentation](https://docs.port.io/create-self-service-experiences/reflect-action-progress/).
:::info
Version parameter
Set the `version` parameter to `v2` for the latest version
of the API.
:::'
parameters:
- schema:
type: string
enum:
- v1
- v2
in: query
name: version
required: false
description: Specifies the API version to use. Please use `v2` for the latest
version of the API.
- schema:
type: string
in: path
name: run_id
required: true
description: The identifier of the action run.
security:
- bearer:
- read:runs
responses:
'200':
description: OK
content:
application/json:
schema:
properties:
ok:
enum:
- true
run:
type: object
properties:
id:
type: string
blueprint:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
entity:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
action:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
properties:
type: object
rawProperties:
type: object
endedAt:
type: string
format: date-time
source:
type:
- string
- object
requiredApproval:
type:
- boolean
- object
properties:
type:
type: string
enum:
- ALL
- ANY
required:
- type
status:
type: string
statusLabel:
type:
- string
- 'null'
link:
type:
- array
- string
items:
type: string
summary:
type: string
approval:
type:
- object
- 'null'
properties:
description:
type: string
userId:
type:
- string
- 'null'
impersonatedUserId:
type:
- string
- 'null'
state:
type: string
payload:
type:
- object
- 'null'
properties:
type:
type: string
url:
type: string
format: uri
agent:
type: boolean
synchronized:
type: boolean
method:
type: string
headers:
type: object
properties:
RUN_ID:
type: string
body:
type: object
properties:
port_context:
type: object
properties:
runId:
type: string
response:
type:
- string
- array
- object
items: {}
pendingExecution:
type: boolean
claimedUntil:
type: string
format: date-time
installationId:
type: string
createdBy:
type: string
impersonatedBy:
type: string
impersonatedUserId:
type: string
updatedBy:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- id
- action
- properties
- requiredApproval
- source
- status
required:
- ok
additionalProperties: false
description: OK
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/actions/runs/{run_id}/approval:
patch:
summary: Approve an action run
tags:
- Action Runs
description: 'This route allows you to approve or decline a request to execute
an action that requires approval.
To learn more about manual approval
for actions, check out the [documentation](https://docs.port.io/create-self-service-experiences/set-self-service-actions-rbac/#configure-manual-approval-for-actions).
:::info
Version parameter value
Set the `version` parameter to `v2` for the latest
version of the API.
:::'
requestBody:
content:
application/json:
schema:
type: object
properties:
status:
type: string
enum:
- DECLINE
- APPROVE
description:
type: string
description: A description and/or reason for the given status.
additionalProperties: false
required:
- status
required: true
parameters:
- schema:
type: string
enum:
- v1
- v2
in: query
name: version
required: false
description: Specifies the API version to use. Please use `v2` for the latest
version of the API.
- schema:
type: string
in: path
name: run_id
required: true
description: The identifier of the action run.
security:
- bearer: []
responses:
'201':
description: OK
content:
application/json:
schema:
properties:
ok:
enum:
- true
run:
type: object
properties:
id:
type: string
blueprint:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
entity:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
action:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
properties:
type: object
rawProperties:
type: object
endedAt:
type: string
format: date-time
source:
type:
- string
- object
requiredApproval:
type:
- boolean
- object
properties:
type:
type: string
enum:
- ALL
- ANY
required:
- type
status:
type: string
statusLabel:
type:
- string
- 'null'
link:
type:
- array
- string
items:
type: string
summary:
type: string
approval:
type:
- object
- 'null'
properties:
description:
type: string
userId:
type:
- string
- 'null'
impersonatedUserId:
type:
- string
- 'null'
state:
type: string
payload:
type:
- object
- 'null'
properties:
type:
type: string
url:
type: string
format: uri
agent:
type: boolean
synchronized:
type: boolean
method:
type: string
headers:
type: object
properties:
RUN_ID:
type: string
body:
type: object
properties:
port_context:
type: object
properties:
runId:
type: string
response:
type:
- string
- array
- object
items: {}
pendingExecution:
type: boolean
claimedUntil:
type: string
format: date-time
installationId:
type: string
createdBy:
type: string
impersonatedBy:
type: string
impersonatedUserId:
type: string
updatedBy:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- id
- action
- properties
- requiredApproval
- source
- status
required:
- ok
additionalProperties: false
description: OK
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/actions/runs:
get:
summary: Get all action runs
tags:
- Action Runs
description: 'This route allows you to fetch all action runs in your Port account.
The route will perform a logical `AND` between all query parameters below,
and return all action runs that match the criteria.
To learn more
about action runs, check out the [documentation](https://docs.port.io/create-self-service-experiences/reflect-action-progress/).
:::info
Version parameter
Set the `version` parameter to `v2` for the latest version
of the API.
:::'
parameters:
- schema:
type: string
in: query
name: entity
required: false
description: The identifier of the entity associated with the action run.
- schema:
type: string
in: query
name: blueprint
required: false
description: The identifier of the blueprint associated with the action run.
- schema:
type: boolean
in: query
name: active
required: false
description: If `true`, only running action runs will be fetched.
- schema:
type: string
in: query
name: user_email
required: false
description: The email of the user who initiated the action run.
- schema:
type: string
in: query
name: user_id
required: false
description: The id of the user who initiated the action run.
- schema:
type: number
minimum: 1
maximum: 1000
in: query
name: limit
required: false
description: The maximum number of action runs to fetch.
- schema:
type: array
items:
type: string
in: query
name: exclude
required: false
description: The fields to exclude from the response
- schema:
type: string
in: query
name: external_run_id
required: false
description: The run id of your backend, for example the id that GitHub gives
the workflow. This can be used to identify the action run instead of the
`run_id`.
- schema:
type: string
enum:
- v1
- v2
in: query
name: version
required: false
description: Specifies the API version to use. Please use `v2` for the latest
version of the API.
- schema:
type: string
in: query
name: action
required: false
- schema:
type: array
items:
type: string
enum:
- UI
- API
- AUTOMATION
in: query
name: source
required: false
security:
- bearer:
- read:runs
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
properties:
ok:
enum:
- true
runs:
type: array
items:
type: object
properties:
id:
type: string
blueprint:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
entity:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
action:
type: object
properties:
identifier:
type: string
title:
type:
- string
- 'null'
icon:
type:
- string
- 'null'
deleted:
type: boolean
required:
- identifier
properties:
type: object
rawProperties:
type: object
endedAt:
type: string
format: date-time
source:
type:
- string
- object
requiredApproval:
type:
- boolean
- object
properties:
type:
type: string
enum:
- ALL
- ANY
required:
- type
status:
type: string
statusLabel:
type:
- string
- 'null'
link:
type:
- array
- string
items:
type: string
summary:
type: string
approval:
type:
- object
- 'null'
properties:
description:
type: string
userId:
type:
- string
- 'null'
impersonatedUserId:
type:
- string
- 'null'
state:
type: string
payload:
type:
- object
- 'null'
properties:
type:
type: string
url:
type: string
format: uri
agent:
type: boolean
synchronized:
type: boolean
method:
type: string
headers:
type: object
properties:
RUN_ID:
type: string
body:
type: object
properties:
port_context:
type: object
properties:
runId:
type: string
response:
type:
- string
- array
- object
items: {}
pendingExecution:
type: boolean
claimedUntil:
type: string
format: date-time
installationId:
type: string
createdBy:
type: string
impersonatedBy:
type: string
impersonatedUserId:
type: string
updatedBy:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- id
- action
- properties
- requiredApproval
- source
- status
required:
- ok
additionalProperties: false
description: Retrieved successfully.
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/actions/runs/{run_id}/logs:
post:
summary: Add a log to an action run
tags:
- Action Runs
description: This route allows you to send a log message back to Port, which
will be displayed in the action run's page. You can also use this route to
update the run's termination status (SUCCESS/FAILURE) and label describing
the status.
To learn more about action runs, check out the [documentation](https://docs.port.io/create-self-service-experiences/reflect-action-progress/).
requestBody:
content:
application/json:
schema:
type: object
properties:
terminationStatus:
type: string
enum:
- SUCCESS
- FAILURE
description: The termination status of the action run. Can be left
blank if you only want to send a log message.
statusLabel:
type: string
description: A label to describe the status of the action run. Can
be left blank if you only want to send a log message.
message:
type: string
description: The log message to send back to Port.
additionalProperties: false
required:
- message
required: true
parameters:
- schema:
type: string
in: path
name: run_id
required: true
description: The identifier of the action run.
security:
- bearer: []
responses:
'201':
description: OK
content:
application/json:
schema:
properties:
ok:
enum:
- true
runLog:
type: object
properties:
id:
type: string
runId:
type: string
message:
type: string
createdBy:
type: string
createdAt:
type: string
format: date-time
required:
- id
- runId
- message
- createdBy
- createdAt
required:
- ok
additionalProperties: false
description: OK
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
get:
summary: Get an action's run logs
tags:
- Action Runs
description: This route allows you to fetch the logs from an action run.
To
learn more about action runs, check out the [documentation](https://docs.port.io/create-self-service-experiences/reflect-action-progress/).
parameters:
- schema:
type: number
minimum: 1
maximum: 50
in: query
name: limit
required: false
description: The maximum number of logs to fetch.
- schema:
type: number
in: query
name: offset
required: false
description: The number of logs to skip.
- schema:
type: string
in: path
name: run_id
required: true
description: The identifier of the action run.
security:
- bearer: []
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
properties:
ok:
enum:
- true
runLogs:
type: array
items:
type: object
properties:
id:
type: string
runId:
type: string
message:
type: string
createdBy:
type: string
createdAt:
type: string
format: date-time
required:
- id
- runId
- message
- createdBy
- createdAt
required:
- ok
additionalProperties: false
description: Retrieved successfully.
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/actions/runs/{run_id}/approvers:
get:
summary: Get an action run's approvers
tags:
- Action Runs
description: This route allows you to fetch the approvers of a specific action
run.
To learn more about manual approval for actions, check out the
[documentation](https://docs.port.io/create-self-service-experiences/set-self-service-actions-rbac/#configure-manual-approval-for-actions).
parameters:
- schema:
type: boolean
default: false
in: query
name: include_pending_approvers
required: true
description: If `true`, the route will also return the users who have not
yet approved the action run.
- schema:
type: string
in: path
name: run_id
required: true
description: The identifier of the action run.
security:
- bearer:
- read:runs
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
properties:
ok:
enum:
- true
approvers:
type: array
items:
type: object
properties:
userId:
type: string
state:
type: string
description:
type: string
nullable: true
required:
- userId
- state
required:
- ok
additionalProperties: false
description: Retrieved successfully.
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/pages:
get:
summary: Get all pages in your portal
tags:
- Pages
description: This route allows you to get all pages in your portal.
To
learn more about pages, checkout the [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/page/catalog-page).
parameters:
- schema:
type: boolean
default: false
in: query
name: compact
required: true
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
post:
summary: Create pages in your portal
tags:
- Pages
description: This route allows you to create pages in your portal.
To
learn more about pages, checkout the [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/page/catalog-page).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)(?:[A-Za-z0-9@_.:\/=\-]|\$team\b|\$users\b|\$user\b|\$AuditLog\b|\$run\b|\$RunsHistory\b|\$home)*$
minLength: 1
example: string
blueprint:
type: string
title:
type: string
description:
type: string
icon:
type: string
sidebar:
type: string
nullable: true
enum:
- null
- catalog
parent:
type: string
nullable: true
after:
type: string
nullable: true
locked:
type: boolean
requiredQueryParams:
type: array
items:
type: string
widgets:
type: array
items:
type: object
anyOf:
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- ai-agent
title:
type: string
description:
type: string
agentIdentifier:
type: string
icon:
type: string
useMCP:
type: boolean
additionalProperties: false
required:
- type
- agentIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-info
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-details
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-runs-table-widget
icon:
type: string
description:
type: string
title:
type: string
displayMode:
type: string
enum:
- single
- widget
action:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
additionalProperties: false
required:
- type
- action
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-card-widget
icon:
type: string
description:
type: string
title:
type: string
actions:
type: array
items:
type: object
properties:
action:
type: string
required:
- action
minItems: 1
additionalProperties: false
required:
- type
- actions
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- links-widget
title:
type: string
description:
type: string
icon:
type: string
links:
type: array
items:
type: object
properties:
title:
type: string
minLength: 1
description:
type: string
url:
type: string
icon:
type: string
additionalProperties: false
required:
- title
- url
additionalProperties: false
required:
- type
- links
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer
icon:
type: string
description:
type: string
emptyStateText:
type: string
title:
type: string
blueprint:
type: string
dataset:
$ref: '#/components/schemas/def-1'
excludedFields:
type: array
items:
type: string
displayMode:
type: string
enum:
- tabs
- single
- widget
entitiesQueryMode:
type: string
enum:
- standard
- optimized
blueprintConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer-by-direction
title:
type: string
blueprintConfig:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_.:\\/=-]*\$(specificpath|upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
targetBlueprint:
type: string
relatedProperty:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-audit-log
title:
type: string
description:
type: string
query:
type: object
properties:
identifier:
type: string
description: An identifier of the log event you want
to fetch.
entity:
type: string
description: Fetch all audit logs related to the specified
entity.
include_deleted_entities:
type: boolean
description: Include deleted entities when searching
for audit logs. This requires the `entity`, `blueprint`,
`status`, `from` and `to` parameters. And the diff
between `from` & `to` is limited to 1 day.
blueprint:
type: string
description: Fetch all audit logs related to the specified
blueprint.
run_id:
type: string
description: Fetch all audit logs related to the specified
action run.
webhookId:
type: string
description: Fetch all audit logs related to the specified
webhook.
webhookEventId:
type: string
description: Fetch all audit logs related to the specified
webhook event.
origin:
type: array
items:
type: string
description: Fetch all audit logs coming from the specified
origin/s. This refers to the integration/s that triggered
the log. For operations performed via Port's UI, the
origin will be `UI`.
InstallationId:
type: string
description: Fetch all audit logs related to the specified
integration.
resources:
anyOf:
- type: array
items:
type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
- type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
description: 'Fetch all audit logs related to the specified
resource type/s.
**Possible values**: [`blueprint`,
`entity`, `run`, `webhook`, `scorecard`, `action`,
`integration`]
The `integration` value is **experimental**
and may change in future API versions.'
includes:
type: array
items:
enum:
- action
- context
- diff
- identifier
- resourceType
- status
- trigger
- additionalData
- message
description: The fields you want to include in the response.
If used, only the specified fields will be included
in the response.
from:
type: string
format: date-time
description: The starting timestamp of the audit logs
you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
to:
type: string
format: date-time
description: The ending timestamp of the audit logs
you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
action:
type: string
description: Fetch all audit logs with the specified
action type - `CREATE`, `UPDATE`, or `DELETE`.
status:
type: string
enum:
- SUCCESS
- FAILURE
description: Fetch all audit logs with the specified
status.
limit:
type: number
description: The maximum number of logs to return. Optional;
defaults to `10000`. The previous default was `100000`,
which could cause `504 Gateway Timeout` on large accounts.
Use a lower value or narrow `from` and `to` if you
still hit timeouts.
actionType:
type: string
enum:
- automation
- self-service
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- query
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- users-table
title:
type: string
query:
type: object
properties:
team:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- teams-table
title:
type: string
query:
type: object
properties:
user:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- runs-table
title:
type: string
query:
type: object
properties:
entity:
type: string
description: The identifier of the entity associated
with the action run.
blueprint:
type: string
description: The identifier of the blueprint associated
with the action run.
active:
type: boolean
description: If `true`, only running action runs will
be fetched.
user_email:
type: string
description: The email of the user who initiated the
action run.
user_id:
type: string
description: The id of the user who initiated the action
run.
limit:
type: number
minimum: 1
maximum: 1000
description: The maximum number of action runs to fetch.
exclude:
type: array
items:
type: string
description: The fields to exclude from the response
external_run_id:
type: string
description: The run id of your backend, for example
the id that GitHub gives the workflow. This can be
used to identify the action run instead of the `run_id`.
version:
type: string
enum:
- v1
- v2
description: Specifies the API version to use. Please
use `v2` for the latest version of the API.
action:
type: string
source:
type: array
items:
type: string
enum:
- UI
- API
- AUTOMATION
if:
properties:
version:
enum:
- v1
- null
then:
properties:
action:
type: 'null'
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- workflow-runs-history-table
query:
type: object
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- run-info
title:
type: string
runId:
type: string
additionalProperties: false
required:
- type
- runId
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- user-info
title:
type: string
user_email:
type: string
additionalProperties: false
required:
- type
- user_email
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- graph-entities-explorer
title:
type: string
dataset:
$ref: '#/components/schemas/def-1'
hiddenBlueprints:
type: array
items:
type: string
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- bar-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- entities-pie-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
oneOf:
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- type
- blueprint
- chartType
- entity
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- multi-line-chart
title:
type: string
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
lines:
type: array
items:
type: object
oneOf:
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- title
- entity
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- blueprint
- chartType
additionalProperties: false
baselines:
type: array
items:
type: object
properties:
name:
type: string
value:
type: number
color:
type: string
additionalProperties: false
required:
- value
nullValueDisplayMode:
type: string
enum:
- zero
- 'null'
required:
- lines
- timeInterval
- timeRange
- title
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- entities-number-chart
title:
type: string
icon:
type: string
description:
type: string
emptyStateText:
type: string
unit:
type: string
enum:
- none
- $
- €
- £
- '%'
- custom
unitAlignment:
type: string
enum:
- left
- right
calculationBy:
type: string
enum:
- entities
- property
conditionalFormatting:
type: array
items:
type: object
properties:
operator:
enum:
- '>'
- '>='
- <
- <=
- '='
- '!='
value:
type: number
message:
type: string
maxLength: 50
description:
type: string
maxLength: 200
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
required:
- operator
- value
displayFormatting:
type: string
enum:
- none
- round
- custom
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- type
- unit
allOf:
- if:
properties:
chartType:
enum:
- aggregateByProperty
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- countEntities
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- displaySingleProperty
required:
- chartType
then:
properties:
property:
type: string
entity:
type: string
required:
- property
- if:
properties:
calculationBy:
enum:
- property
required:
- calculationBy
then:
properties:
property:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
required:
- property
- func
- if:
properties:
calculationBy:
enum:
- entities
required:
- calculationBy
then:
properties:
func:
type: string
enum:
- average
- count
required:
- func
- if:
properties:
func:
enum:
- average
required:
- func
then:
properties:
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
measureTimeBy:
type: string
required:
- averageOf
- if:
properties:
unit:
enum:
- custom
required:
- unit
then:
properties:
unitCustom:
type: string
required:
- unitCustom
- if:
properties:
displayFormatting:
enum:
- custom
required:
- displayFormatting
then:
properties:
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- decimalPlaces
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- iframe-widget
title:
type: string
icon:
type: string
description:
type: string
url:
type: string
format: url
urlType:
type: string
enum:
- public
- protected
required:
- type
- url
- urlType
- title
allOf:
- if:
properties:
urlType:
enum:
- protected
then:
properties:
popupAuth:
type: boolean
tokenUrl:
type: string
format: url
authorizationUrl:
type: string
format: url
clientId:
type: string
scopes:
type: array
items:
type: string
required:
- tokenUrl
- authorizationUrl
- clientId
- scopes
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- markdown
title:
type: string
icon:
type: string
required:
- type
- title
anyOf:
- type: object
properties:
source:
type: string
enum:
- custom
markdown:
type: string
required:
- markdown
- type: object
properties:
source:
type: string
enum:
- property
blueprintIdentifier:
type: string
propertyIdentifier:
type: string
entityIdentifier:
type: string
required:
- source
- blueprintIdentifier
- propertyIdentifier
- entityIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- team-info
title:
type: string
team_name:
type: string
additionalProperties: false
required:
- type
- team_name
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-viewed-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-used-actions
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- my-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- custom-widget
title:
type: string
icon:
type: string
description:
type: string
pluginId:
type: string
paramValues:
type: object
additionalProperties:
type: object
properties:
type:
type: string
enum:
- string
- number
- boolean
- object
- array
- blueprint
value:
oneOf:
- type: string
- type: number
- type: boolean
- type: array
- type: object
required:
- type
- value
additionalProperties: false
required:
- type
- pluginId
- title
additionalProperties: false
- $ref: '#/components/schemas/def-3'
- $ref: '#/components/schemas/def-4'
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- grouper
title:
type: string
displayMode:
type: string
enum:
- tabs
- switch
activeGroupUrlParam:
type: string
groupsOrder:
type: array
items:
type: string
groups:
type: array
items:
type: object
properties:
title:
type: string
icon:
type: string
widgets:
type: array
items:
anyOf:
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- ai-agent
title:
type: string
description:
type: string
agentIdentifier:
type: string
icon:
type: string
useMCP:
type: boolean
additionalProperties: false
required:
- type
- agentIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-info
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-details
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-runs-table-widget
icon:
type: string
description:
type: string
title:
type: string
displayMode:
type: string
enum:
- single
- widget
action:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
additionalProperties: false
required:
- type
- action
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-card-widget
icon:
type: string
description:
type: string
title:
type: string
actions:
type: array
items:
type: object
properties:
action:
type: string
required:
- action
minItems: 1
additionalProperties: false
required:
- type
- actions
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- links-widget
title:
type: string
description:
type: string
icon:
type: string
links:
type: array
items:
type: object
properties:
title:
type: string
minLength: 1
description:
type: string
url:
type: string
icon:
type: string
additionalProperties: false
required:
- title
- url
additionalProperties: false
required:
- type
- links
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer
icon:
type: string
description:
type: string
emptyStateText:
type: string
title:
type: string
blueprint:
type: string
dataset:
$ref: '#/components/schemas/def-1'
excludedFields:
type: array
items:
type: string
displayMode:
type: string
enum:
- tabs
- single
- widget
entitiesQueryMode:
type: string
enum:
- standard
- optimized
blueprintConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer-by-direction
title:
type: string
blueprintConfig:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_.:\\/=-]*\$(specificpath|upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
targetBlueprint:
type: string
relatedProperty:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-audit-log
title:
type: string
description:
type: string
query:
type: object
properties:
identifier:
type: string
description: An identifier of the log
event you want to fetch.
entity:
type: string
description: Fetch all audit logs related
to the specified entity.
include_deleted_entities:
type: boolean
description: Include deleted entities
when searching for audit logs. This
requires the `entity`, `blueprint`,
`status`, `from` and `to` parameters.
And the diff between `from` & `to` is
limited to 1 day.
blueprint:
type: string
description: Fetch all audit logs related
to the specified blueprint.
run_id:
type: string
description: Fetch all audit logs related
to the specified action run.
webhookId:
type: string
description: Fetch all audit logs related
to the specified webhook.
webhookEventId:
type: string
description: Fetch all audit logs related
to the specified webhook event.
origin:
type: array
items:
type: string
description: Fetch all audit logs coming
from the specified origin/s. This refers
to the integration/s that triggered
the log. For operations performed via
Port's UI, the origin will be `UI`.
InstallationId:
type: string
description: Fetch all audit logs related
to the specified integration.
resources:
anyOf:
- type: array
items:
type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
- type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
description: 'Fetch all audit logs related
to the specified resource type/s.
**Possible
values**: [`blueprint`, `entity`, `run`,
`webhook`, `scorecard`, `action`, `integration`]
The
`integration` value is **experimental**
and may change in future API versions.'
includes:
type: array
items:
enum:
- action
- context
- diff
- identifier
- resourceType
- status
- trigger
- additionalData
- message
description: The fields you want to include
in the response. If used, only the specified
fields will be included in the response.
from:
type: string
format: date-time
description: The starting timestamp of
the audit logs you want to fetch, in
the ISO format `2022-04-23T18:25:43.511Z`.
to:
type: string
format: date-time
description: The ending timestamp of the
audit logs you want to fetch, in the
ISO format `2022-04-23T18:25:43.511Z`.
action:
type: string
description: Fetch all audit logs with
the specified action type - `CREATE`,
`UPDATE`, or `DELETE`.
status:
type: string
enum:
- SUCCESS
- FAILURE
description: Fetch all audit logs with
the specified status.
limit:
type: number
description: The maximum number of logs
to return. Optional; defaults to `10000`.
The previous default was `100000`, which
could cause `504 Gateway Timeout` on
large accounts. Use a lower value or
narrow `from` and `to` if you still
hit timeouts.
actionType:
type: string
enum:
- automation
- self-service
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- query
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- users-table
title:
type: string
query:
type: object
properties:
team:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- teams-table
title:
type: string
query:
type: object
properties:
user:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- runs-table
title:
type: string
query:
type: object
properties:
entity:
type: string
description: The identifier of the entity
associated with the action run.
blueprint:
type: string
description: The identifier of the blueprint
associated with the action run.
active:
type: boolean
description: If `true`, only running action
runs will be fetched.
user_email:
type: string
description: The email of the user who
initiated the action run.
user_id:
type: string
description: The id of the user who initiated
the action run.
limit:
type: number
minimum: 1
maximum: 1000
description: The maximum number of action
runs to fetch.
exclude:
type: array
items:
type: string
description: The fields to exclude from
the response
external_run_id:
type: string
description: The run id of your backend,
for example the id that GitHub gives
the workflow. This can be used to identify
the action run instead of the `run_id`.
version:
type: string
enum:
- v1
- v2
description: Specifies the API version
to use. Please use `v2` for the latest
version of the API.
action:
type: string
source:
type: array
items:
type: string
enum:
- UI
- API
- AUTOMATION
if:
properties:
version:
enum:
- v1
- null
then:
properties:
action:
type: 'null'
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- workflow-runs-history-table
query:
type: object
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- run-info
title:
type: string
runId:
type: string
additionalProperties: false
required:
- type
- runId
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- user-info
title:
type: string
user_email:
type: string
additionalProperties: false
required:
- type
- user_email
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- graph-entities-explorer
title:
type: string
dataset:
$ref: '#/components/schemas/def-1'
hiddenBlueprints:
type: array
items:
type: string
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- bar-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- entities-pie-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
oneOf:
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- type
- blueprint
- chartType
- entity
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- multi-line-chart
title:
type: string
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
lines:
type: array
items:
type: object
oneOf:
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- title
- entity
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- blueprint
- chartType
additionalProperties: false
baselines:
type: array
items:
type: object
properties:
name:
type: string
value:
type: number
color:
type: string
additionalProperties: false
required:
- value
nullValueDisplayMode:
type: string
enum:
- zero
- 'null'
required:
- lines
- timeInterval
- timeRange
- title
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- entities-number-chart
title:
type: string
icon:
type: string
description:
type: string
emptyStateText:
type: string
unit:
type: string
enum:
- none
- $
- €
- £
- '%'
- custom
unitAlignment:
type: string
enum:
- left
- right
calculationBy:
type: string
enum:
- entities
- property
conditionalFormatting:
type: array
items:
type: object
properties:
operator:
enum:
- '>'
- '>='
- <
- <=
- '='
- '!='
value:
type: number
message:
type: string
maxLength: 50
description:
type: string
maxLength: 200
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
required:
- operator
- value
displayFormatting:
type: string
enum:
- none
- round
- custom
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- type
- unit
allOf:
- if:
properties:
chartType:
enum:
- aggregateByProperty
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- countEntities
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- displaySingleProperty
required:
- chartType
then:
properties:
property:
type: string
entity:
type: string
required:
- property
- if:
properties:
calculationBy:
enum:
- property
required:
- calculationBy
then:
properties:
property:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
required:
- property
- func
- if:
properties:
calculationBy:
enum:
- entities
required:
- calculationBy
then:
properties:
func:
type: string
enum:
- average
- count
required:
- func
- if:
properties:
func:
enum:
- average
required:
- func
then:
properties:
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
measureTimeBy:
type: string
required:
- averageOf
- if:
properties:
unit:
enum:
- custom
required:
- unit
then:
properties:
unitCustom:
type: string
required:
- unitCustom
- if:
properties:
displayFormatting:
enum:
- custom
required:
- displayFormatting
then:
properties:
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- decimalPlaces
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- iframe-widget
title:
type: string
icon:
type: string
description:
type: string
url:
type: string
format: url
urlType:
type: string
enum:
- public
- protected
required:
- type
- url
- urlType
- title
allOf:
- if:
properties:
urlType:
enum:
- protected
then:
properties:
popupAuth:
type: boolean
tokenUrl:
type: string
format: url
authorizationUrl:
type: string
format: url
clientId:
type: string
scopes:
type: array
items:
type: string
required:
- tokenUrl
- authorizationUrl
- clientId
- scopes
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- markdown
title:
type: string
icon:
type: string
required:
- type
- title
anyOf:
- type: object
properties:
source:
type: string
enum:
- custom
markdown:
type: string
required:
- markdown
- type: object
properties:
source:
type: string
enum:
- property
blueprintIdentifier:
type: string
propertyIdentifier:
type: string
entityIdentifier:
type: string
required:
- source
- blueprintIdentifier
- propertyIdentifier
- entityIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- team-info
title:
type: string
team_name:
type: string
additionalProperties: false
required:
- type
- team_name
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-viewed-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-used-actions
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- my-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- custom-widget
title:
type: string
icon:
type: string
description:
type: string
pluginId:
type: string
paramValues:
type: object
additionalProperties:
type: object
properties:
type:
type: string
enum:
- string
- number
- boolean
- object
- array
- blueprint
value:
oneOf:
- type: string
- type: number
- type: boolean
- type: array
- type: object
required:
- type
- value
additionalProperties: false
required:
- type
- pluginId
- title
additionalProperties: false
- $ref: '#/components/schemas/def-3'
- $ref: '#/components/schemas/def-4'
additionalProperties: false
required:
- title
- widgets
additionalProperties: false
required:
- type
- groups
- displayMode
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- dashboard-widget
layout:
type: array
items:
type: object
properties:
height:
type: number
columns:
type: array
items:
type: object
properties:
size:
type: number
id:
type: string
additionalProperties: false
required:
- size
- id
additionalProperties: false
required:
- columns
- height
widgets:
type: array
items:
type: object
anyOf:
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- ai-agent
title:
type: string
description:
type: string
agentIdentifier:
type: string
icon:
type: string
useMCP:
type: boolean
additionalProperties: false
required:
- type
- agentIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-info
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-details
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-runs-table-widget
icon:
type: string
description:
type: string
title:
type: string
displayMode:
type: string
enum:
- single
- widget
action:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
additionalProperties: false
required:
- type
- action
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-card-widget
icon:
type: string
description:
type: string
title:
type: string
actions:
type: array
items:
type: object
properties:
action:
type: string
required:
- action
minItems: 1
additionalProperties: false
required:
- type
- actions
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- links-widget
title:
type: string
description:
type: string
icon:
type: string
links:
type: array
items:
type: object
properties:
title:
type: string
minLength: 1
description:
type: string
url:
type: string
icon:
type: string
additionalProperties: false
required:
- title
- url
additionalProperties: false
required:
- type
- links
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer
icon:
type: string
description:
type: string
emptyStateText:
type: string
title:
type: string
blueprint:
type: string
dataset:
$ref: '#/components/schemas/def-1'
excludedFields:
type: array
items:
type: string
displayMode:
type: string
enum:
- tabs
- single
- widget
entitiesQueryMode:
type: string
enum:
- standard
- optimized
blueprintConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer-by-direction
title:
type: string
blueprintConfig:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_.:\\/=-]*\$(specificpath|upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
targetBlueprint:
type: string
relatedProperty:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-audit-log
title:
type: string
description:
type: string
query:
type: object
properties:
identifier:
type: string
description: An identifier of the log event
you want to fetch.
entity:
type: string
description: Fetch all audit logs related to
the specified entity.
include_deleted_entities:
type: boolean
description: Include deleted entities when searching
for audit logs. This requires the `entity`,
`blueprint`, `status`, `from` and `to` parameters.
And the diff between `from` & `to` is limited
to 1 day.
blueprint:
type: string
description: Fetch all audit logs related to
the specified blueprint.
run_id:
type: string
description: Fetch all audit logs related to
the specified action run.
webhookId:
type: string
description: Fetch all audit logs related to
the specified webhook.
webhookEventId:
type: string
description: Fetch all audit logs related to
the specified webhook event.
origin:
type: array
items:
type: string
description: Fetch all audit logs coming from
the specified origin/s. This refers to the
integration/s that triggered the log. For
operations performed via Port's UI, the origin
will be `UI`.
InstallationId:
type: string
description: Fetch all audit logs related to
the specified integration.
resources:
anyOf:
- type: array
items:
type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
- type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
description: 'Fetch all audit logs related to
the specified resource type/s.
**Possible
values**: [`blueprint`, `entity`, `run`, `webhook`,
`scorecard`, `action`, `integration`]
The
`integration` value is **experimental** and
may change in future API versions.'
includes:
type: array
items:
enum:
- action
- context
- diff
- identifier
- resourceType
- status
- trigger
- additionalData
- message
description: The fields you want to include
in the response. If used, only the specified
fields will be included in the response.
from:
type: string
format: date-time
description: The starting timestamp of the audit
logs you want to fetch, in the ISO format
`2022-04-23T18:25:43.511Z`.
to:
type: string
format: date-time
description: The ending timestamp of the audit
logs you want to fetch, in the ISO format
`2022-04-23T18:25:43.511Z`.
action:
type: string
description: Fetch all audit logs with the specified
action type - `CREATE`, `UPDATE`, or `DELETE`.
status:
type: string
enum:
- SUCCESS
- FAILURE
description: Fetch all audit logs with the specified
status.
limit:
type: number
description: The maximum number of logs to return.
Optional; defaults to `10000`. The previous
default was `100000`, which could cause `504
Gateway Timeout` on large accounts. Use a
lower value or narrow `from` and `to` if you
still hit timeouts.
actionType:
type: string
enum:
- automation
- self-service
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- query
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- users-table
title:
type: string
query:
type: object
properties:
team:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- teams-table
title:
type: string
query:
type: object
properties:
user:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- runs-table
title:
type: string
query:
type: object
properties:
entity:
type: string
description: The identifier of the entity associated
with the action run.
blueprint:
type: string
description: The identifier of the blueprint
associated with the action run.
active:
type: boolean
description: If `true`, only running action
runs will be fetched.
user_email:
type: string
description: The email of the user who initiated
the action run.
user_id:
type: string
description: The id of the user who initiated
the action run.
limit:
type: number
minimum: 1
maximum: 1000
description: The maximum number of action runs
to fetch.
exclude:
type: array
items:
type: string
description: The fields to exclude from the
response
external_run_id:
type: string
description: The run id of your backend, for
example the id that GitHub gives the workflow.
This can be used to identify the action run
instead of the `run_id`.
version:
type: string
enum:
- v1
- v2
description: Specifies the API version to use.
Please use `v2` for the latest version of
the API.
action:
type: string
source:
type: array
items:
type: string
enum:
- UI
- API
- AUTOMATION
if:
properties:
version:
enum:
- v1
- null
then:
properties:
action:
type: 'null'
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- workflow-runs-history-table
query:
type: object
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- run-info
title:
type: string
runId:
type: string
additionalProperties: false
required:
- type
- runId
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- user-info
title:
type: string
user_email:
type: string
additionalProperties: false
required:
- type
- user_email
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- graph-entities-explorer
title:
type: string
dataset:
$ref: '#/components/schemas/def-1'
hiddenBlueprints:
type: array
items:
type: string
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- bar-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- entities-pie-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
oneOf:
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- type
- blueprint
- chartType
- entity
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- multi-line-chart
title:
type: string
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
lines:
type: array
items:
type: object
oneOf:
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- title
- entity
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- blueprint
- chartType
additionalProperties: false
baselines:
type: array
items:
type: object
properties:
name:
type: string
value:
type: number
color:
type: string
additionalProperties: false
required:
- value
nullValueDisplayMode:
type: string
enum:
- zero
- 'null'
required:
- lines
- timeInterval
- timeRange
- title
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- entities-number-chart
title:
type: string
icon:
type: string
description:
type: string
emptyStateText:
type: string
unit:
type: string
enum:
- none
- $
- €
- £
- '%'
- custom
unitAlignment:
type: string
enum:
- left
- right
calculationBy:
type: string
enum:
- entities
- property
conditionalFormatting:
type: array
items:
type: object
properties:
operator:
enum:
- '>'
- '>='
- <
- <=
- '='
- '!='
value:
type: number
message:
type: string
maxLength: 50
description:
type: string
maxLength: 200
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
required:
- operator
- value
displayFormatting:
type: string
enum:
- none
- round
- custom
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- type
- unit
allOf:
- if:
properties:
chartType:
enum:
- aggregateByProperty
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- countEntities
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- displaySingleProperty
required:
- chartType
then:
properties:
property:
type: string
entity:
type: string
required:
- property
- if:
properties:
calculationBy:
enum:
- property
required:
- calculationBy
then:
properties:
property:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
required:
- property
- func
- if:
properties:
calculationBy:
enum:
- entities
required:
- calculationBy
then:
properties:
func:
type: string
enum:
- average
- count
required:
- func
- if:
properties:
func:
enum:
- average
required:
- func
then:
properties:
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
measureTimeBy:
type: string
required:
- averageOf
- if:
properties:
unit:
enum:
- custom
required:
- unit
then:
properties:
unitCustom:
type: string
required:
- unitCustom
- if:
properties:
displayFormatting:
enum:
- custom
required:
- displayFormatting
then:
properties:
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- decimalPlaces
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- iframe-widget
title:
type: string
icon:
type: string
description:
type: string
url:
type: string
format: url
urlType:
type: string
enum:
- public
- protected
required:
- type
- url
- urlType
- title
allOf:
- if:
properties:
urlType:
enum:
- protected
then:
properties:
popupAuth:
type: boolean
tokenUrl:
type: string
format: url
authorizationUrl:
type: string
format: url
clientId:
type: string
scopes:
type: array
items:
type: string
required:
- tokenUrl
- authorizationUrl
- clientId
- scopes
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- markdown
title:
type: string
icon:
type: string
required:
- type
- title
anyOf:
- type: object
properties:
source:
type: string
enum:
- custom
markdown:
type: string
required:
- markdown
- type: object
properties:
source:
type: string
enum:
- property
blueprintIdentifier:
type: string
propertyIdentifier:
type: string
entityIdentifier:
type: string
required:
- source
- blueprintIdentifier
- propertyIdentifier
- entityIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- team-info
title:
type: string
team_name:
type: string
additionalProperties: false
required:
- type
- team_name
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-viewed-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-used-actions
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- my-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- custom-widget
title:
type: string
icon:
type: string
description:
type: string
pluginId:
type: string
paramValues:
type: object
additionalProperties:
type: object
properties:
type:
type: string
enum:
- string
- number
- boolean
- object
- array
- blueprint
value:
oneOf:
- type: string
- type: number
- type: boolean
- type: array
- type: object
required:
- type
- value
additionalProperties: false
required:
- type
- pluginId
- title
additionalProperties: false
- $ref: '#/components/schemas/def-3'
- $ref: '#/components/schemas/def-4'
additionalProperties: false
required:
- type
- layout
- widgets
type:
type: string
enum:
- run
- user
- team
- entity
- users-and-teams
- runs-history
- audit-log
- blueprint-entities
- dashboard
- home
showInSidebar:
type: boolean
default: true
section:
type: string
enum:
- software_catalog
- organization
default: software_catalog
pageFilters:
type: array
items:
type: object
properties:
query:
type: object
properties:
blueprint:
type: string
combinator:
enum:
- and
description: The combinator to use for the rules.
rules:
type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
required:
- combinator
- rules
additionalProperties: false
example:
combinator: and
rules:
- property: $blueprint
operator: '='
value: service
title: /schemas/filterTag
identifier:
type: string
title:
type: string
required:
- identifier
- title
- query
additionalProperties: false
additionalProperties: true
required:
- identifier
required: true
security:
- bearer:
- create:pages
responses:
'201':
description: Created successfully
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/pages/{identifier}:
get:
summary: Get a page
tags:
- Pages
description: This route allows you to get a specific page in your portal.
To
learn more about pages, checkout the [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/page/catalog-page).
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
patch:
summary: Patch a page
tags:
- Pages
description: This route allows you to update a specific page in your portal.
To
learn more about pages, checkout the [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/page/catalog-page).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)(?:[A-Za-z0-9@_.:\/=\-]|\$team\b|\$users\b|\$user\b|\$AuditLog\b|\$run\b|\$RunsHistory\b|\$home)*$
minLength: 1
example: string
blueprint:
type: string
title:
type: string
description:
type: string
icon:
type: string
parent:
type: string
nullable: true
after:
type: string
nullable: true
locked:
type: boolean
widgets:
type: array
items:
type: object
anyOf:
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- ai-agent
title:
type: string
description:
type: string
agentIdentifier:
type: string
icon:
type: string
useMCP:
type: boolean
additionalProperties: false
required:
- type
- agentIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-info
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-details
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-runs-table-widget
icon:
type: string
description:
type: string
title:
type: string
displayMode:
type: string
enum:
- single
- widget
action:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
additionalProperties: false
required:
- type
- action
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-card-widget
icon:
type: string
description:
type: string
title:
type: string
actions:
type: array
items:
type: object
properties:
action:
type: string
required:
- action
minItems: 1
additionalProperties: false
required:
- type
- actions
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- links-widget
title:
type: string
description:
type: string
icon:
type: string
links:
type: array
items:
type: object
properties:
title:
type: string
minLength: 1
description:
type: string
url:
type: string
icon:
type: string
additionalProperties: false
required:
- title
- url
additionalProperties: false
required:
- type
- links
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer
icon:
type: string
description:
type: string
emptyStateText:
type: string
title:
type: string
blueprint:
type: string
dataset:
$ref: '#/components/schemas/def-1'
excludedFields:
type: array
items:
type: string
displayMode:
type: string
enum:
- tabs
- single
- widget
entitiesQueryMode:
type: string
enum:
- standard
- optimized
blueprintConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer-by-direction
title:
type: string
blueprintConfig:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_.:\\/=-]*\$(specificpath|upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
targetBlueprint:
type: string
relatedProperty:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-audit-log
title:
type: string
description:
type: string
query:
type: object
properties:
identifier:
type: string
description: An identifier of the log event you want
to fetch.
entity:
type: string
description: Fetch all audit logs related to the specified
entity.
include_deleted_entities:
type: boolean
description: Include deleted entities when searching
for audit logs. This requires the `entity`, `blueprint`,
`status`, `from` and `to` parameters. And the diff
between `from` & `to` is limited to 1 day.
blueprint:
type: string
description: Fetch all audit logs related to the specified
blueprint.
run_id:
type: string
description: Fetch all audit logs related to the specified
action run.
webhookId:
type: string
description: Fetch all audit logs related to the specified
webhook.
webhookEventId:
type: string
description: Fetch all audit logs related to the specified
webhook event.
origin:
type: array
items:
type: string
description: Fetch all audit logs coming from the specified
origin/s. This refers to the integration/s that triggered
the log. For operations performed via Port's UI, the
origin will be `UI`.
InstallationId:
type: string
description: Fetch all audit logs related to the specified
integration.
resources:
anyOf:
- type: array
items:
type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
- type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
description: 'Fetch all audit logs related to the specified
resource type/s.
**Possible values**: [`blueprint`,
`entity`, `run`, `webhook`, `scorecard`, `action`,
`integration`]
The `integration` value is **experimental**
and may change in future API versions.'
includes:
type: array
items:
enum:
- action
- context
- diff
- identifier
- resourceType
- status
- trigger
- additionalData
- message
description: The fields you want to include in the response.
If used, only the specified fields will be included
in the response.
from:
type: string
format: date-time
description: The starting timestamp of the audit logs
you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
to:
type: string
format: date-time
description: The ending timestamp of the audit logs
you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
action:
type: string
description: Fetch all audit logs with the specified
action type - `CREATE`, `UPDATE`, or `DELETE`.
status:
type: string
enum:
- SUCCESS
- FAILURE
description: Fetch all audit logs with the specified
status.
limit:
type: number
description: The maximum number of logs to return. Optional;
defaults to `10000`. The previous default was `100000`,
which could cause `504 Gateway Timeout` on large accounts.
Use a lower value or narrow `from` and `to` if you
still hit timeouts.
actionType:
type: string
enum:
- automation
- self-service
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- query
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- users-table
title:
type: string
query:
type: object
properties:
team:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- teams-table
title:
type: string
query:
type: object
properties:
user:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- runs-table
title:
type: string
query:
type: object
properties:
entity:
type: string
description: The identifier of the entity associated
with the action run.
blueprint:
type: string
description: The identifier of the blueprint associated
with the action run.
active:
type: boolean
description: If `true`, only running action runs will
be fetched.
user_email:
type: string
description: The email of the user who initiated the
action run.
user_id:
type: string
description: The id of the user who initiated the action
run.
limit:
type: number
minimum: 1
maximum: 1000
description: The maximum number of action runs to fetch.
exclude:
type: array
items:
type: string
description: The fields to exclude from the response
external_run_id:
type: string
description: The run id of your backend, for example
the id that GitHub gives the workflow. This can be
used to identify the action run instead of the `run_id`.
version:
type: string
enum:
- v1
- v2
description: Specifies the API version to use. Please
use `v2` for the latest version of the API.
action:
type: string
source:
type: array
items:
type: string
enum:
- UI
- API
- AUTOMATION
if:
properties:
version:
enum:
- v1
- null
then:
properties:
action:
type: 'null'
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- workflow-runs-history-table
query:
type: object
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- run-info
title:
type: string
runId:
type: string
additionalProperties: false
required:
- type
- runId
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- user-info
title:
type: string
user_email:
type: string
additionalProperties: false
required:
- type
- user_email
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- graph-entities-explorer
title:
type: string
dataset:
$ref: '#/components/schemas/def-1'
hiddenBlueprints:
type: array
items:
type: string
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- bar-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- entities-pie-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
oneOf:
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- type
- blueprint
- chartType
- entity
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- multi-line-chart
title:
type: string
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
lines:
type: array
items:
type: object
oneOf:
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- title
- entity
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- blueprint
- chartType
additionalProperties: false
baselines:
type: array
items:
type: object
properties:
name:
type: string
value:
type: number
color:
type: string
additionalProperties: false
required:
- value
nullValueDisplayMode:
type: string
enum:
- zero
- 'null'
required:
- lines
- timeInterval
- timeRange
- title
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- entities-number-chart
title:
type: string
icon:
type: string
description:
type: string
emptyStateText:
type: string
unit:
type: string
enum:
- none
- $
- €
- £
- '%'
- custom
unitAlignment:
type: string
enum:
- left
- right
calculationBy:
type: string
enum:
- entities
- property
conditionalFormatting:
type: array
items:
type: object
properties:
operator:
enum:
- '>'
- '>='
- <
- <=
- '='
- '!='
value:
type: number
message:
type: string
maxLength: 50
description:
type: string
maxLength: 200
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
required:
- operator
- value
displayFormatting:
type: string
enum:
- none
- round
- custom
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- type
- unit
allOf:
- if:
properties:
chartType:
enum:
- aggregateByProperty
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- countEntities
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- displaySingleProperty
required:
- chartType
then:
properties:
property:
type: string
entity:
type: string
required:
- property
- if:
properties:
calculationBy:
enum:
- property
required:
- calculationBy
then:
properties:
property:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
required:
- property
- func
- if:
properties:
calculationBy:
enum:
- entities
required:
- calculationBy
then:
properties:
func:
type: string
enum:
- average
- count
required:
- func
- if:
properties:
func:
enum:
- average
required:
- func
then:
properties:
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
measureTimeBy:
type: string
required:
- averageOf
- if:
properties:
unit:
enum:
- custom
required:
- unit
then:
properties:
unitCustom:
type: string
required:
- unitCustom
- if:
properties:
displayFormatting:
enum:
- custom
required:
- displayFormatting
then:
properties:
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- decimalPlaces
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- iframe-widget
title:
type: string
icon:
type: string
description:
type: string
url:
type: string
format: url
urlType:
type: string
enum:
- public
- protected
required:
- type
- url
- urlType
- title
allOf:
- if:
properties:
urlType:
enum:
- protected
then:
properties:
popupAuth:
type: boolean
tokenUrl:
type: string
format: url
authorizationUrl:
type: string
format: url
clientId:
type: string
scopes:
type: array
items:
type: string
required:
- tokenUrl
- authorizationUrl
- clientId
- scopes
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- markdown
title:
type: string
icon:
type: string
required:
- type
- title
anyOf:
- type: object
properties:
source:
type: string
enum:
- custom
markdown:
type: string
required:
- markdown
- type: object
properties:
source:
type: string
enum:
- property
blueprintIdentifier:
type: string
propertyIdentifier:
type: string
entityIdentifier:
type: string
required:
- source
- blueprintIdentifier
- propertyIdentifier
- entityIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- team-info
title:
type: string
team_name:
type: string
additionalProperties: false
required:
- type
- team_name
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-viewed-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-used-actions
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- my-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- custom-widget
title:
type: string
icon:
type: string
description:
type: string
pluginId:
type: string
paramValues:
type: object
additionalProperties:
type: object
properties:
type:
type: string
enum:
- string
- number
- boolean
- object
- array
- blueprint
value:
oneOf:
- type: string
- type: number
- type: boolean
- type: array
- type: object
required:
- type
- value
additionalProperties: false
required:
- type
- pluginId
- title
additionalProperties: false
- $ref: '#/components/schemas/def-3'
- $ref: '#/components/schemas/def-4'
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- grouper
title:
type: string
displayMode:
type: string
enum:
- tabs
- switch
activeGroupUrlParam:
type: string
groupsOrder:
type: array
items:
type: string
groups:
type: array
items:
type: object
properties:
title:
type: string
icon:
type: string
widgets:
type: array
items:
anyOf:
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- ai-agent
title:
type: string
description:
type: string
agentIdentifier:
type: string
icon:
type: string
useMCP:
type: boolean
additionalProperties: false
required:
- type
- agentIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-info
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-details
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-runs-table-widget
icon:
type: string
description:
type: string
title:
type: string
displayMode:
type: string
enum:
- single
- widget
action:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
additionalProperties: false
required:
- type
- action
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-card-widget
icon:
type: string
description:
type: string
title:
type: string
actions:
type: array
items:
type: object
properties:
action:
type: string
required:
- action
minItems: 1
additionalProperties: false
required:
- type
- actions
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- links-widget
title:
type: string
description:
type: string
icon:
type: string
links:
type: array
items:
type: object
properties:
title:
type: string
minLength: 1
description:
type: string
url:
type: string
icon:
type: string
additionalProperties: false
required:
- title
- url
additionalProperties: false
required:
- type
- links
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer
icon:
type: string
description:
type: string
emptyStateText:
type: string
title:
type: string
blueprint:
type: string
dataset:
$ref: '#/components/schemas/def-1'
excludedFields:
type: array
items:
type: string
displayMode:
type: string
enum:
- tabs
- single
- widget
entitiesQueryMode:
type: string
enum:
- standard
- optimized
blueprintConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer-by-direction
title:
type: string
blueprintConfig:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_.:\\/=-]*\$(specificpath|upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
targetBlueprint:
type: string
relatedProperty:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-audit-log
title:
type: string
description:
type: string
query:
type: object
properties:
identifier:
type: string
description: An identifier of the log
event you want to fetch.
entity:
type: string
description: Fetch all audit logs related
to the specified entity.
include_deleted_entities:
type: boolean
description: Include deleted entities
when searching for audit logs. This
requires the `entity`, `blueprint`,
`status`, `from` and `to` parameters.
And the diff between `from` & `to` is
limited to 1 day.
blueprint:
type: string
description: Fetch all audit logs related
to the specified blueprint.
run_id:
type: string
description: Fetch all audit logs related
to the specified action run.
webhookId:
type: string
description: Fetch all audit logs related
to the specified webhook.
webhookEventId:
type: string
description: Fetch all audit logs related
to the specified webhook event.
origin:
type: array
items:
type: string
description: Fetch all audit logs coming
from the specified origin/s. This refers
to the integration/s that triggered
the log. For operations performed via
Port's UI, the origin will be `UI`.
InstallationId:
type: string
description: Fetch all audit logs related
to the specified integration.
resources:
anyOf:
- type: array
items:
type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
- type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
description: 'Fetch all audit logs related
to the specified resource type/s.
**Possible
values**: [`blueprint`, `entity`, `run`,
`webhook`, `scorecard`, `action`, `integration`]
The
`integration` value is **experimental**
and may change in future API versions.'
includes:
type: array
items:
enum:
- action
- context
- diff
- identifier
- resourceType
- status
- trigger
- additionalData
- message
description: The fields you want to include
in the response. If used, only the specified
fields will be included in the response.
from:
type: string
format: date-time
description: The starting timestamp of
the audit logs you want to fetch, in
the ISO format `2022-04-23T18:25:43.511Z`.
to:
type: string
format: date-time
description: The ending timestamp of the
audit logs you want to fetch, in the
ISO format `2022-04-23T18:25:43.511Z`.
action:
type: string
description: Fetch all audit logs with
the specified action type - `CREATE`,
`UPDATE`, or `DELETE`.
status:
type: string
enum:
- SUCCESS
- FAILURE
description: Fetch all audit logs with
the specified status.
limit:
type: number
description: The maximum number of logs
to return. Optional; defaults to `10000`.
The previous default was `100000`, which
could cause `504 Gateway Timeout` on
large accounts. Use a lower value or
narrow `from` and `to` if you still
hit timeouts.
actionType:
type: string
enum:
- automation
- self-service
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- query
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- users-table
title:
type: string
query:
type: object
properties:
team:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- teams-table
title:
type: string
query:
type: object
properties:
user:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- runs-table
title:
type: string
query:
type: object
properties:
entity:
type: string
description: The identifier of the entity
associated with the action run.
blueprint:
type: string
description: The identifier of the blueprint
associated with the action run.
active:
type: boolean
description: If `true`, only running action
runs will be fetched.
user_email:
type: string
description: The email of the user who
initiated the action run.
user_id:
type: string
description: The id of the user who initiated
the action run.
limit:
type: number
minimum: 1
maximum: 1000
description: The maximum number of action
runs to fetch.
exclude:
type: array
items:
type: string
description: The fields to exclude from
the response
external_run_id:
type: string
description: The run id of your backend,
for example the id that GitHub gives
the workflow. This can be used to identify
the action run instead of the `run_id`.
version:
type: string
enum:
- v1
- v2
description: Specifies the API version
to use. Please use `v2` for the latest
version of the API.
action:
type: string
source:
type: array
items:
type: string
enum:
- UI
- API
- AUTOMATION
if:
properties:
version:
enum:
- v1
- null
then:
properties:
action:
type: 'null'
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- workflow-runs-history-table
query:
type: object
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- run-info
title:
type: string
runId:
type: string
additionalProperties: false
required:
- type
- runId
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- user-info
title:
type: string
user_email:
type: string
additionalProperties: false
required:
- type
- user_email
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- graph-entities-explorer
title:
type: string
dataset:
$ref: '#/components/schemas/def-1'
hiddenBlueprints:
type: array
items:
type: string
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- bar-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- entities-pie-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
oneOf:
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- type
- blueprint
- chartType
- entity
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- multi-line-chart
title:
type: string
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
lines:
type: array
items:
type: object
oneOf:
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- title
- entity
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- blueprint
- chartType
additionalProperties: false
baselines:
type: array
items:
type: object
properties:
name:
type: string
value:
type: number
color:
type: string
additionalProperties: false
required:
- value
nullValueDisplayMode:
type: string
enum:
- zero
- 'null'
required:
- lines
- timeInterval
- timeRange
- title
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- entities-number-chart
title:
type: string
icon:
type: string
description:
type: string
emptyStateText:
type: string
unit:
type: string
enum:
- none
- $
- €
- £
- '%'
- custom
unitAlignment:
type: string
enum:
- left
- right
calculationBy:
type: string
enum:
- entities
- property
conditionalFormatting:
type: array
items:
type: object
properties:
operator:
enum:
- '>'
- '>='
- <
- <=
- '='
- '!='
value:
type: number
message:
type: string
maxLength: 50
description:
type: string
maxLength: 200
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
required:
- operator
- value
displayFormatting:
type: string
enum:
- none
- round
- custom
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- type
- unit
allOf:
- if:
properties:
chartType:
enum:
- aggregateByProperty
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- countEntities
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- displaySingleProperty
required:
- chartType
then:
properties:
property:
type: string
entity:
type: string
required:
- property
- if:
properties:
calculationBy:
enum:
- property
required:
- calculationBy
then:
properties:
property:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
required:
- property
- func
- if:
properties:
calculationBy:
enum:
- entities
required:
- calculationBy
then:
properties:
func:
type: string
enum:
- average
- count
required:
- func
- if:
properties:
func:
enum:
- average
required:
- func
then:
properties:
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
measureTimeBy:
type: string
required:
- averageOf
- if:
properties:
unit:
enum:
- custom
required:
- unit
then:
properties:
unitCustom:
type: string
required:
- unitCustom
- if:
properties:
displayFormatting:
enum:
- custom
required:
- displayFormatting
then:
properties:
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- decimalPlaces
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- iframe-widget
title:
type: string
icon:
type: string
description:
type: string
url:
type: string
format: url
urlType:
type: string
enum:
- public
- protected
required:
- type
- url
- urlType
- title
allOf:
- if:
properties:
urlType:
enum:
- protected
then:
properties:
popupAuth:
type: boolean
tokenUrl:
type: string
format: url
authorizationUrl:
type: string
format: url
clientId:
type: string
scopes:
type: array
items:
type: string
required:
- tokenUrl
- authorizationUrl
- clientId
- scopes
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- markdown
title:
type: string
icon:
type: string
required:
- type
- title
anyOf:
- type: object
properties:
source:
type: string
enum:
- custom
markdown:
type: string
required:
- markdown
- type: object
properties:
source:
type: string
enum:
- property
blueprintIdentifier:
type: string
propertyIdentifier:
type: string
entityIdentifier:
type: string
required:
- source
- blueprintIdentifier
- propertyIdentifier
- entityIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- team-info
title:
type: string
team_name:
type: string
additionalProperties: false
required:
- type
- team_name
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-viewed-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-used-actions
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- my-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- custom-widget
title:
type: string
icon:
type: string
description:
type: string
pluginId:
type: string
paramValues:
type: object
additionalProperties:
type: object
properties:
type:
type: string
enum:
- string
- number
- boolean
- object
- array
- blueprint
value:
oneOf:
- type: string
- type: number
- type: boolean
- type: array
- type: object
required:
- type
- value
additionalProperties: false
required:
- type
- pluginId
- title
additionalProperties: false
- $ref: '#/components/schemas/def-3'
- $ref: '#/components/schemas/def-4'
additionalProperties: false
required:
- title
- widgets
additionalProperties: false
required:
- type
- groups
- displayMode
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- dashboard-widget
layout:
type: array
items:
type: object
properties:
height:
type: number
columns:
type: array
items:
type: object
properties:
size:
type: number
id:
type: string
additionalProperties: false
required:
- size
- id
additionalProperties: false
required:
- columns
- height
widgets:
type: array
items:
type: object
anyOf:
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- ai-agent
title:
type: string
description:
type: string
agentIdentifier:
type: string
icon:
type: string
useMCP:
type: boolean
additionalProperties: false
required:
- type
- agentIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-info
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-details
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-runs-table-widget
icon:
type: string
description:
type: string
title:
type: string
displayMode:
type: string
enum:
- single
- widget
action:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
additionalProperties: false
required:
- type
- action
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-card-widget
icon:
type: string
description:
type: string
title:
type: string
actions:
type: array
items:
type: object
properties:
action:
type: string
required:
- action
minItems: 1
additionalProperties: false
required:
- type
- actions
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- links-widget
title:
type: string
description:
type: string
icon:
type: string
links:
type: array
items:
type: object
properties:
title:
type: string
minLength: 1
description:
type: string
url:
type: string
icon:
type: string
additionalProperties: false
required:
- title
- url
additionalProperties: false
required:
- type
- links
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer
icon:
type: string
description:
type: string
emptyStateText:
type: string
title:
type: string
blueprint:
type: string
dataset:
$ref: '#/components/schemas/def-1'
excludedFields:
type: array
items:
type: string
displayMode:
type: string
enum:
- tabs
- single
- widget
entitiesQueryMode:
type: string
enum:
- standard
- optimized
blueprintConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer-by-direction
title:
type: string
blueprintConfig:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_.:\\/=-]*\$(specificpath|upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
targetBlueprint:
type: string
relatedProperty:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-audit-log
title:
type: string
description:
type: string
query:
type: object
properties:
identifier:
type: string
description: An identifier of the log event
you want to fetch.
entity:
type: string
description: Fetch all audit logs related to
the specified entity.
include_deleted_entities:
type: boolean
description: Include deleted entities when searching
for audit logs. This requires the `entity`,
`blueprint`, `status`, `from` and `to` parameters.
And the diff between `from` & `to` is limited
to 1 day.
blueprint:
type: string
description: Fetch all audit logs related to
the specified blueprint.
run_id:
type: string
description: Fetch all audit logs related to
the specified action run.
webhookId:
type: string
description: Fetch all audit logs related to
the specified webhook.
webhookEventId:
type: string
description: Fetch all audit logs related to
the specified webhook event.
origin:
type: array
items:
type: string
description: Fetch all audit logs coming from
the specified origin/s. This refers to the
integration/s that triggered the log. For
operations performed via Port's UI, the origin
will be `UI`.
InstallationId:
type: string
description: Fetch all audit logs related to
the specified integration.
resources:
anyOf:
- type: array
items:
type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
- type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
description: 'Fetch all audit logs related to
the specified resource type/s.
**Possible
values**: [`blueprint`, `entity`, `run`, `webhook`,
`scorecard`, `action`, `integration`]
The
`integration` value is **experimental** and
may change in future API versions.'
includes:
type: array
items:
enum:
- action
- context
- diff
- identifier
- resourceType
- status
- trigger
- additionalData
- message
description: The fields you want to include
in the response. If used, only the specified
fields will be included in the response.
from:
type: string
format: date-time
description: The starting timestamp of the audit
logs you want to fetch, in the ISO format
`2022-04-23T18:25:43.511Z`.
to:
type: string
format: date-time
description: The ending timestamp of the audit
logs you want to fetch, in the ISO format
`2022-04-23T18:25:43.511Z`.
action:
type: string
description: Fetch all audit logs with the specified
action type - `CREATE`, `UPDATE`, or `DELETE`.
status:
type: string
enum:
- SUCCESS
- FAILURE
description: Fetch all audit logs with the specified
status.
limit:
type: number
description: The maximum number of logs to return.
Optional; defaults to `10000`. The previous
default was `100000`, which could cause `504
Gateway Timeout` on large accounts. Use a
lower value or narrow `from` and `to` if you
still hit timeouts.
actionType:
type: string
enum:
- automation
- self-service
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- query
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- users-table
title:
type: string
query:
type: object
properties:
team:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- teams-table
title:
type: string
query:
type: object
properties:
user:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- runs-table
title:
type: string
query:
type: object
properties:
entity:
type: string
description: The identifier of the entity associated
with the action run.
blueprint:
type: string
description: The identifier of the blueprint
associated with the action run.
active:
type: boolean
description: If `true`, only running action
runs will be fetched.
user_email:
type: string
description: The email of the user who initiated
the action run.
user_id:
type: string
description: The id of the user who initiated
the action run.
limit:
type: number
minimum: 1
maximum: 1000
description: The maximum number of action runs
to fetch.
exclude:
type: array
items:
type: string
description: The fields to exclude from the
response
external_run_id:
type: string
description: The run id of your backend, for
example the id that GitHub gives the workflow.
This can be used to identify the action run
instead of the `run_id`.
version:
type: string
enum:
- v1
- v2
description: Specifies the API version to use.
Please use `v2` for the latest version of
the API.
action:
type: string
source:
type: array
items:
type: string
enum:
- UI
- API
- AUTOMATION
if:
properties:
version:
enum:
- v1
- null
then:
properties:
action:
type: 'null'
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- workflow-runs-history-table
query:
type: object
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- run-info
title:
type: string
runId:
type: string
additionalProperties: false
required:
- type
- runId
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- user-info
title:
type: string
user_email:
type: string
additionalProperties: false
required:
- type
- user_email
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- graph-entities-explorer
title:
type: string
dataset:
$ref: '#/components/schemas/def-1'
hiddenBlueprints:
type: array
items:
type: string
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- bar-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- entities-pie-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
oneOf:
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- type
- blueprint
- chartType
- entity
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- multi-line-chart
title:
type: string
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
lines:
type: array
items:
type: object
oneOf:
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- title
- entity
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- blueprint
- chartType
additionalProperties: false
baselines:
type: array
items:
type: object
properties:
name:
type: string
value:
type: number
color:
type: string
additionalProperties: false
required:
- value
nullValueDisplayMode:
type: string
enum:
- zero
- 'null'
required:
- lines
- timeInterval
- timeRange
- title
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- entities-number-chart
title:
type: string
icon:
type: string
description:
type: string
emptyStateText:
type: string
unit:
type: string
enum:
- none
- $
- €
- £
- '%'
- custom
unitAlignment:
type: string
enum:
- left
- right
calculationBy:
type: string
enum:
- entities
- property
conditionalFormatting:
type: array
items:
type: object
properties:
operator:
enum:
- '>'
- '>='
- <
- <=
- '='
- '!='
value:
type: number
message:
type: string
maxLength: 50
description:
type: string
maxLength: 200
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
required:
- operator
- value
displayFormatting:
type: string
enum:
- none
- round
- custom
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- type
- unit
allOf:
- if:
properties:
chartType:
enum:
- aggregateByProperty
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- countEntities
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- displaySingleProperty
required:
- chartType
then:
properties:
property:
type: string
entity:
type: string
required:
- property
- if:
properties:
calculationBy:
enum:
- property
required:
- calculationBy
then:
properties:
property:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
required:
- property
- func
- if:
properties:
calculationBy:
enum:
- entities
required:
- calculationBy
then:
properties:
func:
type: string
enum:
- average
- count
required:
- func
- if:
properties:
func:
enum:
- average
required:
- func
then:
properties:
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
measureTimeBy:
type: string
required:
- averageOf
- if:
properties:
unit:
enum:
- custom
required:
- unit
then:
properties:
unitCustom:
type: string
required:
- unitCustom
- if:
properties:
displayFormatting:
enum:
- custom
required:
- displayFormatting
then:
properties:
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- decimalPlaces
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- iframe-widget
title:
type: string
icon:
type: string
description:
type: string
url:
type: string
format: url
urlType:
type: string
enum:
- public
- protected
required:
- type
- url
- urlType
- title
allOf:
- if:
properties:
urlType:
enum:
- protected
then:
properties:
popupAuth:
type: boolean
tokenUrl:
type: string
format: url
authorizationUrl:
type: string
format: url
clientId:
type: string
scopes:
type: array
items:
type: string
required:
- tokenUrl
- authorizationUrl
- clientId
- scopes
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- markdown
title:
type: string
icon:
type: string
required:
- type
- title
anyOf:
- type: object
properties:
source:
type: string
enum:
- custom
markdown:
type: string
required:
- markdown
- type: object
properties:
source:
type: string
enum:
- property
blueprintIdentifier:
type: string
propertyIdentifier:
type: string
entityIdentifier:
type: string
required:
- source
- blueprintIdentifier
- propertyIdentifier
- entityIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- team-info
title:
type: string
team_name:
type: string
additionalProperties: false
required:
- type
- team_name
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-viewed-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-used-actions
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- my-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- custom-widget
title:
type: string
icon:
type: string
description:
type: string
pluginId:
type: string
paramValues:
type: object
additionalProperties:
type: object
properties:
type:
type: string
enum:
- string
- number
- boolean
- object
- array
- blueprint
value:
oneOf:
- type: string
- type: number
- type: boolean
- type: array
- type: object
required:
- type
- value
additionalProperties: false
required:
- type
- pluginId
- title
additionalProperties: false
- $ref: '#/components/schemas/def-3'
- $ref: '#/components/schemas/def-4'
additionalProperties: false
required:
- type
- layout
- widgets
showInSidebar:
type: boolean
default: true
section:
type: string
enum:
- software_catalog
- organization
default: software_catalog
pageFilters:
type: array
items:
type: object
properties:
query:
type: object
properties:
blueprint:
type: string
combinator:
enum:
- and
description: The combinator to use for the rules.
rules:
type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
required:
- combinator
- rules
additionalProperties: false
example:
combinator: and
rules:
- property: $blueprint
operator: '='
value: service
identifier:
type: string
title:
type: string
required:
- identifier
- title
- query
additionalProperties: false
additionalProperties: false
required: []
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer: []
responses:
'200':
description: Updated successfully
content:
application/json:
schema:
type: object
properties:
ok:
enum:
- true
identifier:
type: string
additionalProperties: false
required:
- ok
- identifier
description: Updated successfully
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
delete:
summary: Delete a page
tags:
- Pages
description: This route allows you to delete a specific page in your portal.
To
learn more about pages, checkout the [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/page/catalog-page).
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer:
- delete:pages
responses:
'200':
description: Deleted successfully
content:
application/json:
schema:
description: Deleted successfully
type: object
properties:
ok:
enum:
- true
additionalProperties: false
required:
- ok
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/pages/{identifier}/duplicate:
post:
summary: Duplicate a page
tags:
- Pages
description: Creates a copy of an existing page with the same page permissions.
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer: []
responses:
'201':
description: Duplicated successfully
content:
application/json:
schema:
type: object
properties:
ok:
enum:
- true
identifier:
type: string
additionalProperties: false
required:
- ok
- identifier
description: Duplicated successfully
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/pages/{page_identifier}/widgets:
post:
summary: Create a widget
tags:
- Pages
description: This route allows you to create a widget in a specific page in
your portal.
To learn more about pages, checkout the [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/page/catalog-page).
requestBody:
content:
application/json:
schema:
type: object
properties:
widget:
type: object
anyOf:
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- ai-agent
title:
type: string
description:
type: string
agentIdentifier:
type: string
icon:
type: string
useMCP:
type: boolean
additionalProperties: false
required:
- type
- agentIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-info
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-details
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-runs-table-widget
icon:
type: string
description:
type: string
title:
type: string
displayMode:
type: string
enum:
- single
- widget
action:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
additionalProperties: false
required:
- type
- action
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-card-widget
icon:
type: string
description:
type: string
title:
type: string
actions:
type: array
items:
type: object
properties:
action:
type: string
required:
- action
minItems: 1
additionalProperties: false
required:
- type
- actions
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- links-widget
title:
type: string
description:
type: string
icon:
type: string
links:
type: array
items:
type: object
properties:
title:
type: string
minLength: 1
description:
type: string
url:
type: string
icon:
type: string
additionalProperties: false
required:
- title
- url
additionalProperties: false
required:
- type
- links
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer
icon:
type: string
description:
type: string
emptyStateText:
type: string
title:
type: string
blueprint:
type: string
dataset:
$ref: '#/components/schemas/def-1'
excludedFields:
type: array
items:
type: string
displayMode:
type: string
enum:
- tabs
- single
- widget
entitiesQueryMode:
type: string
enum:
- standard
- optimized
blueprintConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer-by-direction
title:
type: string
blueprintConfig:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_.:\\/=-]*\$(specificpath|upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
targetBlueprint:
type: string
relatedProperty:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-audit-log
title:
type: string
description:
type: string
query:
type: object
properties:
identifier:
type: string
description: An identifier of the log event you want to
fetch.
entity:
type: string
description: Fetch all audit logs related to the specified
entity.
include_deleted_entities:
type: boolean
description: Include deleted entities when searching for
audit logs. This requires the `entity`, `blueprint`,
`status`, `from` and `to` parameters. And the diff between
`from` & `to` is limited to 1 day.
blueprint:
type: string
description: Fetch all audit logs related to the specified
blueprint.
run_id:
type: string
description: Fetch all audit logs related to the specified
action run.
webhookId:
type: string
description: Fetch all audit logs related to the specified
webhook.
webhookEventId:
type: string
description: Fetch all audit logs related to the specified
webhook event.
origin:
type: array
items:
type: string
description: Fetch all audit logs coming from the specified
origin/s. This refers to the integration/s that triggered
the log. For operations performed via Port's UI, the
origin will be `UI`.
InstallationId:
type: string
description: Fetch all audit logs related to the specified
integration.
resources:
anyOf:
- type: array
items:
type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
- type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
description: 'Fetch all audit logs related to the specified
resource type/s.
**Possible values**: [`blueprint`,
`entity`, `run`, `webhook`, `scorecard`, `action`, `integration`]
The
`integration` value is **experimental** and may change
in future API versions.'
includes:
type: array
items:
enum:
- action
- context
- diff
- identifier
- resourceType
- status
- trigger
- additionalData
- message
description: The fields you want to include in the response.
If used, only the specified fields will be included
in the response.
from:
type: string
format: date-time
description: The starting timestamp of the audit logs
you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
to:
type: string
format: date-time
description: The ending timestamp of the audit logs you
want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
action:
type: string
description: Fetch all audit logs with the specified action
type - `CREATE`, `UPDATE`, or `DELETE`.
status:
type: string
enum:
- SUCCESS
- FAILURE
description: Fetch all audit logs with the specified status.
limit:
type: number
description: The maximum number of logs to return. Optional;
defaults to `10000`. The previous default was `100000`,
which could cause `504 Gateway Timeout` on large accounts.
Use a lower value or narrow `from` and `to` if you still
hit timeouts.
actionType:
type: string
enum:
- automation
- self-service
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- query
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- users-table
title:
type: string
query:
type: object
properties:
team:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- teams-table
title:
type: string
query:
type: object
properties:
user:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- runs-table
title:
type: string
query:
type: object
properties:
entity:
type: string
description: The identifier of the entity associated with
the action run.
blueprint:
type: string
description: The identifier of the blueprint associated
with the action run.
active:
type: boolean
description: If `true`, only running action runs will
be fetched.
user_email:
type: string
description: The email of the user who initiated the action
run.
user_id:
type: string
description: The id of the user who initiated the action
run.
limit:
type: number
minimum: 1
maximum: 1000
description: The maximum number of action runs to fetch.
exclude:
type: array
items:
type: string
description: The fields to exclude from the response
external_run_id:
type: string
description: The run id of your backend, for example the
id that GitHub gives the workflow. This can be used
to identify the action run instead of the `run_id`.
version:
type: string
enum:
- v1
- v2
description: Specifies the API version to use. Please
use `v2` for the latest version of the API.
action:
type: string
source:
type: array
items:
type: string
enum:
- UI
- API
- AUTOMATION
if:
properties:
version:
enum:
- v1
- null
then:
properties:
action:
type: 'null'
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- workflow-runs-history-table
query:
type: object
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- run-info
title:
type: string
runId:
type: string
additionalProperties: false
required:
- type
- runId
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- user-info
title:
type: string
user_email:
type: string
additionalProperties: false
required:
- type
- user_email
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- graph-entities-explorer
title:
type: string
dataset:
$ref: '#/components/schemas/def-1'
hiddenBlueprints:
type: array
items:
type: string
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- bar-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- entities-pie-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
oneOf:
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- type
- blueprint
- chartType
- entity
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- multi-line-chart
title:
type: string
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
lines:
type: array
items:
type: object
oneOf:
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- title
- entity
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- blueprint
- chartType
additionalProperties: false
baselines:
type: array
items:
type: object
properties:
name:
type: string
value:
type: number
color:
type: string
additionalProperties: false
required:
- value
nullValueDisplayMode:
type: string
enum:
- zero
- 'null'
required:
- lines
- timeInterval
- timeRange
- title
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- entities-number-chart
title:
type: string
icon:
type: string
description:
type: string
emptyStateText:
type: string
unit:
type: string
enum:
- none
- $
- €
- £
- '%'
- custom
unitAlignment:
type: string
enum:
- left
- right
calculationBy:
type: string
enum:
- entities
- property
conditionalFormatting:
type: array
items:
type: object
properties:
operator:
enum:
- '>'
- '>='
- <
- <=
- '='
- '!='
value:
type: number
message:
type: string
maxLength: 50
description:
type: string
maxLength: 200
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
required:
- operator
- value
displayFormatting:
type: string
enum:
- none
- round
- custom
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- type
- unit
allOf:
- if:
properties:
chartType:
enum:
- aggregateByProperty
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- countEntities
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- displaySingleProperty
required:
- chartType
then:
properties:
property:
type: string
entity:
type: string
required:
- property
- if:
properties:
calculationBy:
enum:
- property
required:
- calculationBy
then:
properties:
property:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
required:
- property
- func
- if:
properties:
calculationBy:
enum:
- entities
required:
- calculationBy
then:
properties:
func:
type: string
enum:
- average
- count
required:
- func
- if:
properties:
func:
enum:
- average
required:
- func
then:
properties:
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
measureTimeBy:
type: string
required:
- averageOf
- if:
properties:
unit:
enum:
- custom
required:
- unit
then:
properties:
unitCustom:
type: string
required:
- unitCustom
- if:
properties:
displayFormatting:
enum:
- custom
required:
- displayFormatting
then:
properties:
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- decimalPlaces
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- iframe-widget
title:
type: string
icon:
type: string
description:
type: string
url:
type: string
format: url
urlType:
type: string
enum:
- public
- protected
required:
- type
- url
- urlType
- title
allOf:
- if:
properties:
urlType:
enum:
- protected
then:
properties:
popupAuth:
type: boolean
tokenUrl:
type: string
format: url
authorizationUrl:
type: string
format: url
clientId:
type: string
scopes:
type: array
items:
type: string
required:
- tokenUrl
- authorizationUrl
- clientId
- scopes
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- markdown
title:
type: string
icon:
type: string
required:
- type
- title
anyOf:
- type: object
properties:
source:
type: string
enum:
- custom
markdown:
type: string
required:
- markdown
- type: object
properties:
source:
type: string
enum:
- property
blueprintIdentifier:
type: string
propertyIdentifier:
type: string
entityIdentifier:
type: string
required:
- source
- blueprintIdentifier
- propertyIdentifier
- entityIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- team-info
title:
type: string
team_name:
type: string
additionalProperties: false
required:
- type
- team_name
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-viewed-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-used-actions
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- my-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- custom-widget
title:
type: string
icon:
type: string
description:
type: string
pluginId:
type: string
paramValues:
type: object
additionalProperties:
type: object
properties:
type:
type: string
enum:
- string
- number
- boolean
- object
- array
- blueprint
value:
oneOf:
- type: string
- type: number
- type: boolean
- type: array
- type: object
required:
- type
- value
additionalProperties: false
required:
- type
- pluginId
- title
additionalProperties: false
- $ref: '#/components/schemas/def-3'
- $ref: '#/components/schemas/def-4'
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- grouper
title:
type: string
displayMode:
type: string
enum:
- tabs
- switch
activeGroupUrlParam:
type: string
groupsOrder:
type: array
items:
type: string
groups:
type: array
items:
type: object
properties:
title:
type: string
icon:
type: string
widgets:
type: array
items:
anyOf:
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- ai-agent
title:
type: string
description:
type: string
agentIdentifier:
type: string
icon:
type: string
useMCP:
type: boolean
additionalProperties: false
required:
- type
- agentIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-info
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-details
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-runs-table-widget
icon:
type: string
description:
type: string
title:
type: string
displayMode:
type: string
enum:
- single
- widget
action:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
additionalProperties: false
required:
- type
- action
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-card-widget
icon:
type: string
description:
type: string
title:
type: string
actions:
type: array
items:
type: object
properties:
action:
type: string
required:
- action
minItems: 1
additionalProperties: false
required:
- type
- actions
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- links-widget
title:
type: string
description:
type: string
icon:
type: string
links:
type: array
items:
type: object
properties:
title:
type: string
minLength: 1
description:
type: string
url:
type: string
icon:
type: string
additionalProperties: false
required:
- title
- url
additionalProperties: false
required:
- type
- links
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer
icon:
type: string
description:
type: string
emptyStateText:
type: string
title:
type: string
blueprint:
type: string
dataset:
$ref: '#/components/schemas/def-1'
excludedFields:
type: array
items:
type: string
displayMode:
type: string
enum:
- tabs
- single
- widget
entitiesQueryMode:
type: string
enum:
- standard
- optimized
blueprintConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer-by-direction
title:
type: string
blueprintConfig:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_.:\\/=-]*\$(specificpath|upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
targetBlueprint:
type: string
relatedProperty:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-audit-log
title:
type: string
description:
type: string
query:
type: object
properties:
identifier:
type: string
description: An identifier of the log event
you want to fetch.
entity:
type: string
description: Fetch all audit logs related
to the specified entity.
include_deleted_entities:
type: boolean
description: Include deleted entities when
searching for audit logs. This requires
the `entity`, `blueprint`, `status`, `from`
and `to` parameters. And the diff between
`from` & `to` is limited to 1 day.
blueprint:
type: string
description: Fetch all audit logs related
to the specified blueprint.
run_id:
type: string
description: Fetch all audit logs related
to the specified action run.
webhookId:
type: string
description: Fetch all audit logs related
to the specified webhook.
webhookEventId:
type: string
description: Fetch all audit logs related
to the specified webhook event.
origin:
type: array
items:
type: string
description: Fetch all audit logs coming
from the specified origin/s. This refers
to the integration/s that triggered the
log. For operations performed via Port's
UI, the origin will be `UI`.
InstallationId:
type: string
description: Fetch all audit logs related
to the specified integration.
resources:
anyOf:
- type: array
items:
type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
- type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
description: 'Fetch all audit logs related
to the specified resource type/s.
**Possible
values**: [`blueprint`, `entity`, `run`,
`webhook`, `scorecard`, `action`, `integration`]
The
`integration` value is **experimental**
and may change in future API versions.'
includes:
type: array
items:
enum:
- action
- context
- diff
- identifier
- resourceType
- status
- trigger
- additionalData
- message
description: The fields you want to include
in the response. If used, only the specified
fields will be included in the response.
from:
type: string
format: date-time
description: The starting timestamp of the
audit logs you want to fetch, in the ISO
format `2022-04-23T18:25:43.511Z`.
to:
type: string
format: date-time
description: The ending timestamp of the
audit logs you want to fetch, in the ISO
format `2022-04-23T18:25:43.511Z`.
action:
type: string
description: Fetch all audit logs with the
specified action type - `CREATE`, `UPDATE`,
or `DELETE`.
status:
type: string
enum:
- SUCCESS
- FAILURE
description: Fetch all audit logs with the
specified status.
limit:
type: number
description: The maximum number of logs
to return. Optional; defaults to `10000`.
The previous default was `100000`, which
could cause `504 Gateway Timeout` on large
accounts. Use a lower value or narrow
`from` and `to` if you still hit timeouts.
actionType:
type: string
enum:
- automation
- self-service
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- query
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- users-table
title:
type: string
query:
type: object
properties:
team:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- teams-table
title:
type: string
query:
type: object
properties:
user:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- runs-table
title:
type: string
query:
type: object
properties:
entity:
type: string
description: The identifier of the entity
associated with the action run.
blueprint:
type: string
description: The identifier of the blueprint
associated with the action run.
active:
type: boolean
description: If `true`, only running action
runs will be fetched.
user_email:
type: string
description: The email of the user who initiated
the action run.
user_id:
type: string
description: The id of the user who initiated
the action run.
limit:
type: number
minimum: 1
maximum: 1000
description: The maximum number of action
runs to fetch.
exclude:
type: array
items:
type: string
description: The fields to exclude from
the response
external_run_id:
type: string
description: The run id of your backend,
for example the id that GitHub gives the
workflow. This can be used to identify
the action run instead of the `run_id`.
version:
type: string
enum:
- v1
- v2
description: Specifies the API version to
use. Please use `v2` for the latest version
of the API.
action:
type: string
source:
type: array
items:
type: string
enum:
- UI
- API
- AUTOMATION
if:
properties:
version:
enum:
- v1
- null
then:
properties:
action:
type: 'null'
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- workflow-runs-history-table
query:
type: object
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- run-info
title:
type: string
runId:
type: string
additionalProperties: false
required:
- type
- runId
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- user-info
title:
type: string
user_email:
type: string
additionalProperties: false
required:
- type
- user_email
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- graph-entities-explorer
title:
type: string
dataset:
$ref: '#/components/schemas/def-1'
hiddenBlueprints:
type: array
items:
type: string
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- bar-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- entities-pie-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
oneOf:
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- type
- blueprint
- chartType
- entity
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- multi-line-chart
title:
type: string
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
lines:
type: array
items:
type: object
oneOf:
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- title
- entity
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- blueprint
- chartType
additionalProperties: false
baselines:
type: array
items:
type: object
properties:
name:
type: string
value:
type: number
color:
type: string
additionalProperties: false
required:
- value
nullValueDisplayMode:
type: string
enum:
- zero
- 'null'
required:
- lines
- timeInterval
- timeRange
- title
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- entities-number-chart
title:
type: string
icon:
type: string
description:
type: string
emptyStateText:
type: string
unit:
type: string
enum:
- none
- $
- €
- £
- '%'
- custom
unitAlignment:
type: string
enum:
- left
- right
calculationBy:
type: string
enum:
- entities
- property
conditionalFormatting:
type: array
items:
type: object
properties:
operator:
enum:
- '>'
- '>='
- <
- <=
- '='
- '!='
value:
type: number
message:
type: string
maxLength: 50
description:
type: string
maxLength: 200
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
required:
- operator
- value
displayFormatting:
type: string
enum:
- none
- round
- custom
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- type
- unit
allOf:
- if:
properties:
chartType:
enum:
- aggregateByProperty
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- countEntities
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- displaySingleProperty
required:
- chartType
then:
properties:
property:
type: string
entity:
type: string
required:
- property
- if:
properties:
calculationBy:
enum:
- property
required:
- calculationBy
then:
properties:
property:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
required:
- property
- func
- if:
properties:
calculationBy:
enum:
- entities
required:
- calculationBy
then:
properties:
func:
type: string
enum:
- average
- count
required:
- func
- if:
properties:
func:
enum:
- average
required:
- func
then:
properties:
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
measureTimeBy:
type: string
required:
- averageOf
- if:
properties:
unit:
enum:
- custom
required:
- unit
then:
properties:
unitCustom:
type: string
required:
- unitCustom
- if:
properties:
displayFormatting:
enum:
- custom
required:
- displayFormatting
then:
properties:
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- decimalPlaces
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- iframe-widget
title:
type: string
icon:
type: string
description:
type: string
url:
type: string
format: url
urlType:
type: string
enum:
- public
- protected
required:
- type
- url
- urlType
- title
allOf:
- if:
properties:
urlType:
enum:
- protected
then:
properties:
popupAuth:
type: boolean
tokenUrl:
type: string
format: url
authorizationUrl:
type: string
format: url
clientId:
type: string
scopes:
type: array
items:
type: string
required:
- tokenUrl
- authorizationUrl
- clientId
- scopes
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- markdown
title:
type: string
icon:
type: string
required:
- type
- title
anyOf:
- type: object
properties:
source:
type: string
enum:
- custom
markdown:
type: string
required:
- markdown
- type: object
properties:
source:
type: string
enum:
- property
blueprintIdentifier:
type: string
propertyIdentifier:
type: string
entityIdentifier:
type: string
required:
- source
- blueprintIdentifier
- propertyIdentifier
- entityIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- team-info
title:
type: string
team_name:
type: string
additionalProperties: false
required:
- type
- team_name
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-viewed-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-used-actions
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- my-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- custom-widget
title:
type: string
icon:
type: string
description:
type: string
pluginId:
type: string
paramValues:
type: object
additionalProperties:
type: object
properties:
type:
type: string
enum:
- string
- number
- boolean
- object
- array
- blueprint
value:
oneOf:
- type: string
- type: number
- type: boolean
- type: array
- type: object
required:
- type
- value
additionalProperties: false
required:
- type
- pluginId
- title
additionalProperties: false
- $ref: '#/components/schemas/def-3'
- $ref: '#/components/schemas/def-4'
additionalProperties: false
required:
- title
- widgets
additionalProperties: false
required:
- type
- groups
- displayMode
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- dashboard-widget
layout:
type: array
items:
type: object
properties:
height:
type: number
columns:
type: array
items:
type: object
properties:
size:
type: number
id:
type: string
additionalProperties: false
required:
- size
- id
additionalProperties: false
required:
- columns
- height
widgets:
type: array
items:
type: object
anyOf:
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- ai-agent
title:
type: string
description:
type: string
agentIdentifier:
type: string
icon:
type: string
useMCP:
type: boolean
additionalProperties: false
required:
- type
- agentIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-info
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- entity-details
title:
type: string
description:
type: string
icon:
type: string
entity:
type: string
hiddenQuery:
type: array
items:
type: string
order:
type: array
items:
type: string
showEmptyValues:
type: boolean
blueprint:
type: string
additionalProperties: false
required:
- type
- entity
- blueprint
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-runs-table-widget
icon:
type: string
description:
type: string
title:
type: string
displayMode:
type: string
enum:
- single
- widget
action:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
additionalProperties: false
required:
- type
- action
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- action-card-widget
icon:
type: string
description:
type: string
title:
type: string
actions:
type: array
items:
type: object
properties:
action:
type: string
required:
- action
minItems: 1
additionalProperties: false
required:
- type
- actions
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- links-widget
title:
type: string
description:
type: string
icon:
type: string
links:
type: array
items:
type: object
properties:
title:
type: string
minLength: 1
description:
type: string
url:
type: string
icon:
type: string
additionalProperties: false
required:
- title
- url
additionalProperties: false
required:
- type
- links
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer
icon:
type: string
description:
type: string
emptyStateText:
type: string
title:
type: string
blueprint:
type: string
dataset:
$ref: '#/components/schemas/def-1'
excludedFields:
type: array
items:
type: string
displayMode:
type: string
enum:
- tabs
- single
- widget
entitiesQueryMode:
type: string
enum:
- standard
- optimized
blueprintConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-entities-explorer-by-direction
title:
type: string
blueprintConfig:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_.:\\/=-]*\$(specificpath|upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
targetBlueprint:
type: string
relatedProperty:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- table-audit-log
title:
type: string
description:
type: string
query:
type: object
properties:
identifier:
type: string
description: An identifier of the log event you
want to fetch.
entity:
type: string
description: Fetch all audit logs related to the
specified entity.
include_deleted_entities:
type: boolean
description: Include deleted entities when searching
for audit logs. This requires the `entity`,
`blueprint`, `status`, `from` and `to` parameters.
And the diff between `from` & `to` is limited
to 1 day.
blueprint:
type: string
description: Fetch all audit logs related to the
specified blueprint.
run_id:
type: string
description: Fetch all audit logs related to the
specified action run.
webhookId:
type: string
description: Fetch all audit logs related to the
specified webhook.
webhookEventId:
type: string
description: Fetch all audit logs related to the
specified webhook event.
origin:
type: array
items:
type: string
description: Fetch all audit logs coming from
the specified origin/s. This refers to the integration/s
that triggered the log. For operations performed
via Port's UI, the origin will be `UI`.
InstallationId:
type: string
description: Fetch all audit logs related to the
specified integration.
resources:
anyOf:
- type: array
items:
type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
- type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
description: 'Fetch all audit logs related to
the specified resource type/s.
**Possible
values**: [`blueprint`, `entity`, `run`, `webhook`,
`scorecard`, `action`, `integration`]
The
`integration` value is **experimental** and
may change in future API versions.'
includes:
type: array
items:
enum:
- action
- context
- diff
- identifier
- resourceType
- status
- trigger
- additionalData
- message
description: The fields you want to include in
the response. If used, only the specified fields
will be included in the response.
from:
type: string
format: date-time
description: The starting timestamp of the audit
logs you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
to:
type: string
format: date-time
description: The ending timestamp of the audit
logs you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
action:
type: string
description: Fetch all audit logs with the specified
action type - `CREATE`, `UPDATE`, or `DELETE`.
status:
type: string
enum:
- SUCCESS
- FAILURE
description: Fetch all audit logs with the specified
status.
limit:
type: number
description: The maximum number of logs to return.
Optional; defaults to `10000`. The previous
default was `100000`, which could cause `504
Gateway Timeout` on large accounts. Use a lower
value or narrow `from` and `to` if you still
hit timeouts.
actionType:
type: string
enum:
- automation
- self-service
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- query
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- users-table
title:
type: string
query:
type: object
properties:
team:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- teams-table
title:
type: string
query:
type: object
properties:
user:
type: string
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- runs-table
title:
type: string
query:
type: object
properties:
entity:
type: string
description: The identifier of the entity associated
with the action run.
blueprint:
type: string
description: The identifier of the blueprint associated
with the action run.
active:
type: boolean
description: If `true`, only running action runs
will be fetched.
user_email:
type: string
description: The email of the user who initiated
the action run.
user_id:
type: string
description: The id of the user who initiated
the action run.
limit:
type: number
minimum: 1
maximum: 1000
description: The maximum number of action runs
to fetch.
exclude:
type: array
items:
type: string
description: The fields to exclude from the response
external_run_id:
type: string
description: The run id of your backend, for example
the id that GitHub gives the workflow. This
can be used to identify the action run instead
of the `run_id`.
version:
type: string
enum:
- v1
- v2
description: Specifies the API version to use.
Please use `v2` for the latest version of the
API.
action:
type: string
source:
type: array
items:
type: string
enum:
- UI
- API
- AUTOMATION
if:
properties:
version:
enum:
- v1
- null
then:
properties:
action:
type: 'null'
additionalProperties: false
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- workflow-runs-history-table
query:
type: object
tableConfig:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- run-info
title:
type: string
runId:
type: string
additionalProperties: false
required:
- type
- runId
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- user-info
title:
type: string
user_email:
type: string
additionalProperties: false
required:
- type
- user_email
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- graph-entities-explorer
title:
type: string
dataset:
$ref: '#/components/schemas/def-1'
hiddenBlueprints:
type: array
items:
type: string
additionalProperties: false
required:
- type
- dataset
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- bar-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- entities-pie-chart
title:
type: string
blueprint:
type: string
property:
type: string
description:
type: string
dataset:
$ref: '#/components/schemas/def-1'
emptyStateText:
type: string
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
additionalProperties: false
required:
- type
- dataset
- property
- type: object
oneOf:
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- type
- blueprint
- chartType
- entity
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
- properties
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- line-chart
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- type
- blueprint
- chartType
- func
- measureTimeBy
additionalProperties: false
if:
type: object
properties:
timeRange:
type: object
properties:
preset:
enum:
- last2Years
- last3Years
then:
type: object
properties:
timeInterval:
enum:
- quarter
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
icon:
type: string
type:
enum:
- multi-line-chart
title:
type: string
xAxisTitle:
type: string
yAxisTitle:
type: string
timeInterval:
type: string
enum:
- hour
- day
- isoWeek
- month
- quarter
timeRange:
type: object
properties:
preset:
type: string
enum:
- today
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
required:
- preset
additionalProperties: false
description:
type: string
emptyStateText:
type: string
lines:
type: array
items:
type: object
oneOf:
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- propertiesValueHistory
entity:
type: string
properties:
type: array
items:
type: string
minItems: 1
required:
- title
- entity
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- aggregatePropertiesValues
func:
type: string
enum:
- sum
- average
- min
- max
- median
- last
properties:
type: array
items:
type: string
minItems: 1
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- properties
- blueprint
- chartType
additionalProperties: false
- properties:
title:
type: string
blueprint:
type: string
chartType:
enum:
- countEntities
func:
type: string
enum:
- count
- average
breakdownProperty:
type: string
measureTimeBy:
type: string
dataset:
$ref: '#/components/schemas/def-1'
required:
- title
- func
- measureTimeBy
- blueprint
- chartType
additionalProperties: false
baselines:
type: array
items:
type: object
properties:
name:
type: string
value:
type: number
color:
type: string
additionalProperties: false
required:
- value
nullValueDisplayMode:
type: string
enum:
- zero
- 'null'
required:
- lines
- timeInterval
- timeRange
- title
- type
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- entities-number-chart
title:
type: string
icon:
type: string
description:
type: string
emptyStateText:
type: string
unit:
type: string
enum:
- none
- $
- €
- £
- '%'
- custom
unitAlignment:
type: string
enum:
- left
- right
calculationBy:
type: string
enum:
- entities
- property
conditionalFormatting:
type: array
items:
type: object
properties:
operator:
enum:
- '>'
- '>='
- <
- <=
- '='
- '!='
value:
type: number
message:
type: string
maxLength: 50
description:
type: string
maxLength: 200
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
required:
- operator
- value
displayFormatting:
type: string
enum:
- none
- round
- custom
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- type
- unit
allOf:
- if:
properties:
chartType:
enum:
- aggregateByProperty
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- countEntities
required:
- chartType
then:
properties:
dataset:
oneOf:
- type: array
items:
anyOf:
- type: object
title: Date Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date Range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Date Preset
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastDay
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
- last2Years
- last3Years
- nextDay
- nextWeek
- next2Weeks
- nextMonth
- next3Months
- next6Months
- next12Months
required:
- preset
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Empty Rule
oneOf:
- type: object
title: Empty Rule
properties:
operator:
enum:
- isEmpty
- isNotEmpty
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: Number Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '>'
- '>='
- <
- <=
value:
anyOf:
- type: number
title: number
- type: string
format: date-time
title: date-time
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Expired Rule
oneOf:
- type: object
title: Expired Rule
properties:
operator:
enum:
- isExpired
- isNotExpired
property:
type: string
required:
- operator
- property
additionalProperties: false
- type: object
title: String Rule
oneOf:
- type: object
title: String Rule
properties:
property:
oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
enum:
- '='
- '!='
- containsAny
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
- in
- notIn
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: string
format: date-time
title: date-time
- type: array
items:
type: string
title: array
- type: array
items:
type: number
title: array
- type: array
items:
type: boolean
title: array
- type: array
items:
type: string
format: date-time
title: array
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
additionalProperties: false
required:
- property
- operator
- value
- type: object
title: Relation Rule
properties:
operator:
enum:
- relatedTo
blueprint:
type: string
value:
anyOf:
- type: string
title: string
- type: array
items:
type: string
title: array
direction:
enum:
- upstream
- downstream
required:
type: boolean
additionalProperties: false
required:
- operator
- value
- blueprint
- type: object
title: Property schema rule
properties:
propertySchema:
type: object
properties:
type:
type: string
format:
type: string
items:
type: object
properties:
type:
type: string
format:
type: string
required:
- type
required:
- type
additionalProperties: false
operator:
enum:
- '='
- '!='
- contains
value:
anyOf:
- type: 'null'
title: 'null'
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
required:
- operator
- propertySchema
additionalProperties: false
- type: object
title: matchAny Rule
anyOf:
- type: object
properties:
property:
oneOf:
- type: object
properties:
path:
type: array
items:
anyOf:
- type: string
- type: object
properties:
relation:
type: string
maxHops:
type: number
minimum: 1
maximum: 15
fromBlueprint:
type: string
required:
- path
additionalProperties: false
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
operator:
type: string
enum:
- matchAny
value:
anyOf:
- type: array
items:
type: string
- oneOf:
- type: string
- type: object
properties:
property:
type: string
context:
type: string
enum:
- user
- userTeams
required:
- property
- context
required:
- property
- operator
- value
additionalProperties: false
- $ref: '#/components/schemas/def-1'
- $ref: '#/components/schemas/def-1'
segmentTableViewConfig:
type: object
propertyNames:
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
additionalProperties:
type: object
properties:
filterSettings:
type: object
properties:
filterBy:
$ref: '#/components/schemas/def-1'
additionalProperties: false
required:
- filterBy
groupSettings:
type: object
properties:
groupBy:
type: array
items:
type: string
additionalProperties: false
required:
- groupBy
sortSettings:
type: object
properties:
sortBy:
type: array
items:
type: object
properties:
property:
type: string
order:
enum:
- asc
- desc
additionalProperties: false
required:
- property
- order
additionalProperties: false
propertiesSettings:
type: object
properties:
hidden:
type: array
items:
type: string
shown:
type: array
items:
type: string
order:
type: array
items:
type: string
additionalProperties: false
tabIndex:
type: number
hidden:
type: boolean
title:
type: string
maxLength: 20
description:
type: string
additionalProperties: false
required:
- dataset
- if:
properties:
chartType:
enum:
- displaySingleProperty
required:
- chartType
then:
properties:
property:
type: string
entity:
type: string
required:
- property
- if:
properties:
calculationBy:
enum:
- property
required:
- calculationBy
then:
properties:
property:
type: string
func:
type: string
enum:
- sum
- average
- min
- max
- median
required:
- property
- func
- if:
properties:
calculationBy:
enum:
- entities
required:
- calculationBy
then:
properties:
func:
type: string
enum:
- average
- count
required:
- func
- if:
properties:
func:
enum:
- average
required:
- func
then:
properties:
averageOf:
type: string
enum:
- hour
- day
- week
- month
- total
measureTimeBy:
type: string
required:
- averageOf
- if:
properties:
unit:
enum:
- custom
required:
- unit
then:
properties:
unitCustom:
type: string
required:
- unitCustom
- if:
properties:
displayFormatting:
enum:
- custom
required:
- displayFormatting
then:
properties:
decimalPlaces:
type: string
enum:
- '.0'
- '.00'
- '.000'
- '.0000'
- '.00000'
required:
- decimalPlaces
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- iframe-widget
title:
type: string
icon:
type: string
description:
type: string
url:
type: string
format: url
urlType:
type: string
enum:
- public
- protected
required:
- type
- url
- urlType
- title
allOf:
- if:
properties:
urlType:
enum:
- protected
then:
properties:
popupAuth:
type: boolean
tokenUrl:
type: string
format: url
authorizationUrl:
type: string
format: url
clientId:
type: string
scopes:
type: array
items:
type: string
required:
- tokenUrl
- authorizationUrl
- clientId
- scopes
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- markdown
title:
type: string
icon:
type: string
required:
- type
- title
anyOf:
- type: object
properties:
source:
type: string
enum:
- custom
markdown:
type: string
required:
- markdown
- type: object
properties:
source:
type: string
enum:
- property
blueprintIdentifier:
type: string
propertyIdentifier:
type: string
entityIdentifier:
type: string
required:
- source
- blueprintIdentifier
- propertyIdentifier
- entityIdentifier
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
enum:
- team-info
title:
type: string
team_name:
type: string
additionalProperties: false
required:
- type
- team_name
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-viewed-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- recently-used-actions
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- my-entities
title:
type: string
icon:
type: string
required:
- type
- title
- type: object
properties:
id:
type: string
updatedAt:
type: string
updatedBy:
type: string
createdAt:
type: string
createdBy:
type: string
type:
type: string
enum:
- custom-widget
title:
type: string
icon:
type: string
description:
type: string
pluginId:
type: string
paramValues:
type: object
additionalProperties:
type: object
properties:
type:
type: string
enum:
- string
- number
- boolean
- object
- array
- blueprint
value:
oneOf:
- type: string
- type: number
- type: boolean
- type: array
- type: object
required:
- type
- value
additionalProperties: false
required:
- type
- pluginId
- title
additionalProperties: false
- $ref: '#/components/schemas/def-3'
- $ref: '#/components/schemas/def-4'
additionalProperties: false
required:
- type
- layout
- widgets
parentWidgetId:
type: string
additionalProperties: false
required:
- widget
- parentWidgetId
required: true
parameters:
- schema:
type: string
minLength: 1
in: path
name: page_identifier
required: true
security:
- bearer: []
responses:
'201':
description: Created successfully
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/pages/{page_identifier}/widgets/{widget_id}:
patch:
summary: Update a widget
tags:
- Pages
description: This route allows you to update a specific widget in your portal.
To learn more about pages, checkout the [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/page/catalog-page).
parameters:
- schema:
type: string
minLength: 1
in: path
name: page_identifier
required: true
- schema:
type: string
minLength: 1
in: path
name: widget_id
required: true
security:
- bearer: []
responses:
'200':
description: Updated successfully
content:
application/json:
schema:
type: object
properties:
ok:
enum:
- true
identifier:
type: string
additionalProperties: false
required:
- ok
- identifier
description: Updated successfully
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
delete:
summary: Delete a widget
tags:
- Pages
description: This route allows you to delete a specific widget in your portal.
To learn more about pages, checkout the [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/page/catalog-page).
parameters:
- schema:
type: string
minLength: 1
in: path
name: page_identifier
required: true
- schema:
type: string
minLength: 1
in: path
name: widget_id
required: true
security:
- bearer: []
responses:
'200':
description: Deleted successfully
content:
application/json:
schema:
description: Deleted successfully
type: object
properties:
ok:
enum:
- true
additionalProperties: false
required:
- ok
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/organization:
get:
summary: Get organization details
tags:
- Organization
description: This route allows you to fetch the details of your Port organization,
such as its name, id, and hidden blueprints.
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
put:
summary: Change organization details
tags:
- Organization
description: This route allows you to change the details of your Port organization,
such as its name and hidden blueprints.
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The name of the organization.
settings:
type: object
properties:
hiddenBlueprints:
type: array
items:
type: string
description: An array of blueprint identifiers that should be
hidden.
federatedLogout:
type: boolean
portalIcon:
type: string
portalTitle:
type: string
maxLength: 30
announcement:
type: object
required:
- content
properties:
enabled:
type: boolean
content:
type: string
maxLength: 300
minLength: 1
link:
type:
- string
- 'null'
maxLength: 300
color:
type: string
enum:
- blue
- red
- green
- yellow
- orange
- pink
- purple
- turquoise
additionalProperties: false
required:
- name
required: true
security:
- bearer:
- update:organization
responses:
'200':
description: Updated successfully.
content:
application/json:
schema:
type: object
properties:
ok:
enum:
- true
additionalProperties: false
required:
- ok
description: Updated successfully.
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
patch:
summary: Update organization details
tags:
- Organization
description: This route allows you to update the details of your Port organization,
such as its name and hidden blueprints.
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The name of the organization.
settings:
type: object
properties:
hiddenBlueprints:
type: array
items:
type: string
description: An array of blueprint identifiers that should be
hidden.
federatedLogout:
type: boolean
portalIcon:
type: string
portalTitle:
type: string
maxLength: 30
supportUserPermission:
type: string
enum:
- OPT_OUT
- OPT_IN
description: Permission level for Port support users accessing
this organization
supportUserTTL:
type: string
enum:
- ONE_DAY
- ONE_WEEK
- ONE_MONTH
- FOREVER
description: Time-to-live for Port support user access
supportUserExpiresAt:
type: string
format: date-time
description: Expiration date for Port support user access
portAgentStreamerName:
type: string
enum:
- KAFKA
- POLLING
description: Streamer name for Port agent (KAFKA or POLLING).
includeBlueprintsInGlobalSearchByDefault:
type: boolean
description: The org-level default for whether blueprints are
included in global search. Individual blueprints can override
this via includeInGlobalSearch.
isOnboarded:
type: boolean
toolSelectionProvisioning:
type: object
properties:
status:
type: string
enum:
- IN_PROGRESS
- DONE
additionalProperties: false
required:
- status
announcement:
type: object
properties:
enabled:
type: boolean
content:
type: string
maxLength: 300
minLength: 1
link:
type:
- string
- 'null'
maxLength: 300
color:
type: string
enum:
- blue
- red
- green
- yellow
- orange
- pink
- purple
- turquoise
additionalProperties: false
security:
- bearer:
- update:organization
responses:
'200':
description: Updated successfully.
content:
application/json:
schema:
type: object
properties:
ok:
enum:
- true
additionalProperties: false
required:
- ok
description: Updated successfully.
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/organization/secrets:
get:
summary: Get all organization secrets' metadata
tags:
- Organization
description: This route allows you to retrieve metadata about all secrets in
your organization. Note that this endpoint returns only the metadata of the
secrets, not the secret content itself.
To learn more about secrets
management in Port, check out the [documentation](https://docs.port.io/sso-rbac/port-secrets).
security:
- bearer:
- read:secrets
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
post:
summary: Create an organization secret
tags:
- Organization
description: This route allows you to create an organization secret.
To
learn more about secrets management in Port, check out the [documentation](https://docs.port.io/sso-rbac/port-secrets).
requestBody:
content:
application/json:
schema:
type: object
properties:
secretName:
type: string
maxLength: 100
minLength: 1
pattern: ^[A-Za-z0-9-_]*$
description: The name of the new secret.
secretValue:
type: string
description: The value of the new secret.
description:
type: string
maxLength: 200
description: An optional description of the new secret.
additionalProperties: false
required:
- secretName
- secretValue
required: true
security:
- bearer:
- create:secrets
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/organization/secrets/{secret_name}:
get:
summary: Get an organization secret's metadata
tags:
- Organization
description: This route allows you to retrieve metadata about a specific secret
in your organization. Note that this endpoint returns only the metadata of
the secret, not the secret content itself.
To learn more about secrets
management in Port, check out the [documentation](https://docs.port.io/sso-rbac/port-secrets).
parameters:
- schema:
type: string
in: path
name: secret_name
required: true
description: The name of the secret you want to operate on.
security:
- bearer:
- read:secrets
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
ok:
type: boolean
secret:
type: object
properties:
secretName:
type: string
description:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- ok
- secret
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
patch:
summary: Update an organization secret
tags:
- Organization
description: This route allows you to update an organization secret.
To
learn more about secrets management, check out the [documentation](https://docs.port.io/sso-rbac/port-secrets).
requestBody:
content:
application/json:
schema:
type: object
properties:
secretValue:
type: string
description: The new value of the secret.
description:
type: string
maxLength: 200
description: The new description of the secret.
additionalProperties: false
required: []
parameters:
- schema:
type: string
in: path
name: secret_name
required: true
description: The name of the secret you want to operate on.
security:
- bearer:
- update:secrets
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
delete:
summary: Delete an organization secret
tags:
- Organization
description: This route allows you to delete an organization secret.
To
learn more about secrets management in Port, check out the [documentation](https://docs.port.io/sso-rbac/port-secrets).
parameters:
- schema:
type: string
in: path
name: secret_name
required: true
description: The name of the secret you want to operate on.
security:
- bearer:
- delete:secrets
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/integration/metadata:
get:
summary: Get all integrations meta-data (member view)
tags:
- Integrations
description: This route allows members to fetch meta-data on all integrations
in their Port organization.
The response includes each integration's
identifier, installation ID, integration type, and last update timestamp.
security:
- bearer:
- read:integrations:basic
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/integration:
get:
summary: Get all integrations
tags:
- Integrations
description: This route allows you to fetch all integrations in your Port organization.
To
learn more about integrations, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).
**Permission
requirements**
To use this endpoint, you must have a `moderator` or `admin`
role in your Port organization.
To learn more about the different roles
and permissions, please refer to the [documentation](https://docs.port.io/sso-rbac/users-and-teams/manage-users-teams/#roles--permissions).
parameters:
- schema:
type: boolean
in: query
name: actionsProcessingEnabled
required: false
description: filter by integrations that has actions processing enabled
security:
- bearer:
- read:integrations
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/integration/{identifier}:
get:
summary: Get an integration
tags:
- Integrations
description: This route allows you to fetch a specific integration in your Port
organization.
To learn more about integrations, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).
**Permission
requirements**
To use this endpoint, you must have a `moderator` or `admin`
role in your Port organization.
To learn more about the different roles
and permissions, please refer to the [documentation](https://docs.port.io/sso-rbac/users-and-teams/manage-users-teams/#roles--permissions).
parameters:
- schema:
type: string
default: installationId
enum:
- installationId
- logIngestId
in: query
name: byField
required: false
description: The field used to identify the integration. When set to `logIngestId`,
the `identifier` parameter should be changed accordingly.
- schema:
type: boolean
in: query
name: isPolling
required: false
description: Whether to return the integration in polling mode.
- schema:
type: string
in: query
name: oceanCoreVersion
required: false
description: The version of the core to use.
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer:
- read:integrations
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
patch:
summary: Update an integration
tags:
- Integrations
description: This route allows you to modify an integration in your Port organization.
To
learn more about integrations, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).
**Note:**
To trigger a resync of an integration without changing its mapping, simply
provide its identifier and leave the body empty.
requestBody:
content:
application/json:
schema:
type: object
properties:
title:
type: string
nullable: true
description: The title of the integration. This will be displayed
in the [data-sources page](https://app.getport.io/settings/data-sources)
of your Port account.
installationAppType:
type: string
description: The name of the integrated tool/platform (e.g. `kubernetes`,`pagerduty`).
version:
type: string
description: The version of the integration.
pinnedVersion:
type: string
description: The pinned version of the integration. If provided,
the integration will be pinned to this specific version in the
Kubernetes manifest.
spec:
type: object
properties:
appSpec:
type: object
additionalProperties: true
integrationSpec:
type: object
additionalProperties: true
additionalProperties: false
actionsProcessingEnabled:
type: boolean
description: If `true`, This integration will be able to process
actions runs
config:
type:
- object
- 'null'
additionalProperties: true
description: Various configuration options for the integration.
properties:
deleteDependentEntities:
type: boolean
description: If `true`, deleting an entity will also delete
its dependent entities.
createMissingRelatedEntities:
type: boolean
description: If `true`, creating an entity with a relation to
a non-existing entity will also create the related entity.
resources:
type: array
description: The mapping definition of resources from the integrated
tool/platform into Port. For more information and examples,
check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping).
items:
type: object
required:
- kind
- selector
- port
properties:
kind:
type: string
description: The kind of resource to map, as defined in
API of the integrated tool/platorm.
selector:
type: object
properties:
query:
type: string
description: A `jq` query used to specify which resources
to fetch from the integrated tool/platform. If set
to `"true"`, all resources of the specified `kind`
will be ingested. For more information and examples,
check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#how-does-mapping-work).
port:
type: object
required:
- entity
description: An object containing the mapping definitions
of the `kind` resource into Port.
properties:
entity:
type: object
required:
- mappings
properties:
mappings:
description: The mapping definitions used to map
the resource fields into Port entities. For
more information and examples, check out the
[documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
oneOf:
- type: array
title: array
items:
type: object
required:
- identifier
- blueprint
properties:
identifier:
oneOf:
- type: string
title: String identifier
description: A `jq` expression used
to get data from the integrated tool's
API, to be used as an identifier for
the entity.
- type: object
title: Search query identifier
description: A search query to define
the entity's identifier based on a
property of the entity.
Read more
[here](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#map-by-property).
properties:
combinator:
type: string
rules:
type: array
items:
type: object
additionalProperties: true
additionalProperties: false
required:
- combinator
- rules
title:
type: string
description: A `jq` expression used to
get data from the integrated tool's
API, to be used as the title of the
entity.
blueprint:
type: string
description: The identifier of the blueprint
to map the data into.
properties:
type: object
additionalProperties: true
description: An object containing the
properties of the entity and their values.
For more information and examples, check
out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
relations:
type: object
additionalProperties: true
description: An object containing the
relations of the entity and their values.
For more information and examples, check
out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
- type: object
required:
- identifier
- blueprint
properties:
identifier:
oneOf:
- type: string
title: String identifier
description: A `jq` expression used to
get data from the integrated tool's
API, to be used as an identifier for
the entity.
- type: object
title: Search query identifier
description: A search query to define
the entity's identifier based on a property
of the entity.
Read more [here](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#map-by-property).
properties:
combinator:
type: string
rules:
type: array
items:
type: object
additionalProperties: true
additionalProperties: false
required:
- combinator
- rules
title:
type: string
description: A `jq` expression used to get
data from the integrated tool's API, to
be used as the title of the entity.
blueprint:
type: string
description: The identifier of the blueprint
to map the data into.
properties:
type: object
additionalProperties: true
description: An object containing the properties
of the entity and their values. For more
information and examples, check out the
[documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
relations:
type: object
additionalProperties: true
description: An object containing the relations
of the entity and their values. For more
information and examples, check out the
[documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
title: object
changelogDestination:
type: object
description: The destination of the integration's changelog.
properties:
type:
type: string
enum:
- WEBHOOK
- KAFKA
oneOf:
- type: object
properties: {}
additionalProperties: false
- type: object
title: Kafka
description: The changelog will be sent to the Kafka topic connected
to your Port account.
properties:
type:
type: string
enum:
- KAFKA
required:
- type
additionalProperties: false
- type: object
title: Webhook
description: The changelog will be sent to the specified webhook.
properties:
type:
type: string
enum:
- WEBHOOK
agent:
type: boolean
description: If `true`, Port's execution agent will be used
to send the changelog.
url:
type: string
format: uri
description: The URL of the webhook.
required:
- url
- type
additionalProperties: false
arePortResourcesInitialized:
type: boolean
description: Whether the Port resources are initialized for the
integration.
additionalProperties: true
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer:
- update:integrations
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
delete:
summary: Delete an integration
tags:
- Integrations
description: This route allows you to delete an integration in your Port organization.
To
learn more about integrations, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer:
- delete:integrations
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/integration/{identifier}/logs:
get:
summary: Get an integration's event logs
tags:
- Integrations
description: This route allows you to fetch the event logs of a specific integration
in your Port organization.
To learn more about integrations, check out
the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).
**Permission
requirements**
To use this endpoint, you must have a `moderator` or `admin`
role in your Port organization.
To learn more about the different roles
and permissions, please refer to the [documentation](https://docs.port.io/sso-rbac/users-and-teams/manage-users-teams/#roles--permissions).
parameters:
- schema:
type: number
default: 100
minimum: 0
maximum: 300
nullable: false
in: query
name: limit
required: false
description: The number of logs to fetch per page.
- schema:
type: string
in: query
name: timestamp
required: false
description: The date of time from which to fetch the logs, in `ISO format
IE 2022-04-23T18:25:43.511Z`.
- schema:
type: string
in: query
name: log_id
required: false
description: The identifier of the log.
- schema:
type: string
enum:
- up
- down
in: query
name: direction
required: false
description: Determines whether to fetch logs before or after the specified
timestamp.
- schema:
type: string
nullable: true
in: query
name: event_id
required: false
description: Filter logs belonging to a specific event.
- schema:
type: array
items:
type: string
enum:
- DEBUG
- INFO
- WARNING
- ERROR
- FATAL
minItems: 1
nullable: true
in: query
name: levels
required: false
description: Filter logs by severity level.
- schema:
type: array
items:
type: string
enum:
- load
- extract
- transform
minItems: 1
nullable: true
in: query
name: etl_phases
required: false
description: Filter logs by ETL phases.
- schema:
type: array
items:
type: string
minItems: 1
nullable: true
in: query
name: kinds
required: false
description: Filter logs by kinds (e.g `pull-request`, `branch` for GitHub,
`issue` for Jira, etc.)
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer:
- read:integrations
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/integration/{identifier}/config:
patch:
summary: Update an integration's config
tags:
- Integrations
description: This route allows you to modify an integration's configuration
in your Port organization.
To learn more about integrations, check
out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).
requestBody:
content:
application/json:
schema:
type: object
properties:
config:
type:
- object
- 'null'
additionalProperties: true
description: Various configuration options for the integration.
properties:
deleteDependentEntities:
type: boolean
description: If `true`, deleting an entity will also delete
its dependent entities.
createMissingRelatedEntities:
type: boolean
description: If `true`, creating an entity with a relation to
a non-existing entity will also create the related entity.
resources:
type: array
description: The mapping definition of resources from the integrated
tool/platform into Port. For more information and examples,
check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping).
items:
type: object
required:
- kind
- selector
- port
properties:
kind:
type: string
description: The kind of resource to map, as defined in
API of the integrated tool/platorm.
selector:
type: object
properties:
query:
type: string
description: A `jq` query used to specify which resources
to fetch from the integrated tool/platform. If set
to `"true"`, all resources of the specified `kind`
will be ingested. For more information and examples,
check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#how-does-mapping-work).
port:
type: object
required:
- entity
description: An object containing the mapping definitions
of the `kind` resource into Port.
properties:
entity:
type: object
required:
- mappings
properties:
mappings:
description: The mapping definitions used to map
the resource fields into Port entities. For
more information and examples, check out the
[documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
oneOf:
- type: array
title: array
items:
type: object
required:
- identifier
- blueprint
properties:
identifier:
oneOf:
- type: string
title: String identifier
description: A `jq` expression used
to get data from the integrated tool's
API, to be used as an identifier for
the entity.
- type: object
title: Search query identifier
description: A search query to define
the entity's identifier based on a
property of the entity.
Read more
[here](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#map-by-property).
properties:
combinator:
type: string
rules:
type: array
items:
type: object
additionalProperties: true
additionalProperties: false
required:
- combinator
- rules
title:
type: string
description: A `jq` expression used to
get data from the integrated tool's
API, to be used as the title of the
entity.
blueprint:
type: string
description: The identifier of the blueprint
to map the data into.
properties:
type: object
additionalProperties: true
description: An object containing the
properties of the entity and their values.
For more information and examples, check
out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
relations:
type: object
additionalProperties: true
description: An object containing the
relations of the entity and their values.
For more information and examples, check
out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
- type: object
required:
- identifier
- blueprint
properties:
identifier:
oneOf:
- type: string
title: String identifier
description: A `jq` expression used to
get data from the integrated tool's
API, to be used as an identifier for
the entity.
- type: object
title: Search query identifier
description: A search query to define
the entity's identifier based on a property
of the entity.
Read more [here](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#map-by-property).
properties:
combinator:
type: string
rules:
type: array
items:
type: object
additionalProperties: true
additionalProperties: false
required:
- combinator
- rules
title:
type: string
description: A `jq` expression used to get
data from the integrated tool's API, to
be used as the title of the entity.
blueprint:
type: string
description: The identifier of the blueprint
to map the data into.
properties:
type: object
additionalProperties: true
description: An object containing the properties
of the entity and their values. For more
information and examples, check out the
[documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
relations:
type: object
additionalProperties: true
description: An object containing the relations
of the entity and their values. For more
information and examples, check out the
[documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure).
title: object
additionalProperties: false
required:
- config
required: true
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer:
- update:integrations
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/webhooks:
post:
summary: Create a webhook
tags:
- Webhook
description: This route allows you to create a webhook in your Port organization.
You can also create it via the [data sources page](https://app.getport.io/settings/data-sources)
of your Port account.
To learn more about webhooks, check out the
[documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type: string
maxLength: 30
description: The identifier of the webhook.
title:
type: string
maxLength: 30
description: The title of the webhook, which will be displayed in
the [data sources page](https://app.getport.io/settings/data-sources)
of your Port account.
description:
type: string
maxLength: 200
description: A description for the webhook.
icon:
type: string
description: The icon of the webhook.
mappings:
type: array
items:
type: object
properties:
operation:
oneOf:
- title: Advanced create
description: "If the operation is `create`, the [entity\
\ JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure)\
\ properties must be provided. For example:\n```json\n\
{\n \"operation\": \"create\",\n \"blueprint\": \"blueprint_identifier\"\
,\n \"filter\": \"true\",\n \"itemsToParse\": \"true\"\
,\n \"entity\": {\n \"identifier\": \"new-webhook\"\
,\n \"title\": \"MyNewWebhook\",\n \"icon\"\
: \"webhook\",\n \"team\": [],\n \"properties\"\
: {\n \"content\": \"my content\"\n },\n \
\ \"relations\": {}\n }\n}\n```"
enum:
- create
- type: object
title: Create
properties:
type:
enum:
- create
required:
- type
additionalProperties: false
- title: Delete
description: "If the selected operation is `delete`, a blueprint\
\ identifier, and entity identifier must be provided,\
\ for example:\n```json\n{\n \"operation\": \"delete\"\
,\n \"filter\": \"true\",\n \"itemsToParse\": \"true\"\
,\n \"blueprint\": \"blueprint_identifier\",\n \"entity\"\
: {\n \"identifier\": \"entity_identifier\"\n }\n\
}\n```"
enum:
- delete
- type: object
title: Advanced delete
properties:
type:
enum:
- delete
deleteDependents:
type: boolean
required:
- type
additionalProperties: false
description: If the selected operation is `delete`, a blueprint
identifier, and entity identifier must be provided. If the
operation is `create`, the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure)
properties must be provided.
if:
properties:
operation:
oneOf:
- title: Delete
description: "If the selected operation is `delete`, a\
\ blueprint identifier, and entity identifier must be\
\ provided, for example:\n```json\n{\n \"operation\"\
: \"delete\",\n \"filter\": \"true\",\n \"itemsToParse\"\
: \"true\",\n \"blueprint\": \"blueprint_identifier\"\
,\n \"entity\": {\n \"identifier\": \"entity_identifier\"\
\n }\n}\n```"
enum:
- delete
- type: object
title: Advanced delete
properties:
type:
enum:
- delete
deleteDependents:
type: boolean
required:
- type
additionalProperties: false
required:
- operation
then:
properties:
operation:
oneOf:
- title: Delete
description: "If the selected operation is `delete`, a\
\ blueprint identifier, and entity identifier must be\
\ provided, for example:\n```json\n{\n \"operation\"\
: \"delete\",\n \"filter\": \"true\",\n \"itemsToParse\"\
: \"true\",\n \"blueprint\": \"blueprint_identifier\"\
,\n \"entity\": {\n \"identifier\": \"entity_identifier\"\
\n }\n}\n```"
enum:
- delete
- type: object
title: Advanced delete
properties:
type:
enum:
- delete
deleteDependents:
type: boolean
required:
- type
additionalProperties: false
blueprint:
type: string
description: The identifier of the blueprint to map the
data into.
filter:
type: string
description: A `jq` query used to filter exactly which payloads
sent to the webhook are processed. If set to `"true"`,
all payloads will be processed.
itemsToParse:
type: string
description: A `jq` query that evaluates to an array of
items, used to create multiple entities from a single
webhook event.
entity:
type: object
properties:
identifier:
type: string
additionalProperties: false
required:
- identifier
required:
- blueprint
- entity
additionalProperties: true
else:
properties:
operation:
oneOf:
- title: Advanced create
description: "If the operation is `create`, the [entity\
\ JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure)\
\ properties must be provided. For example:\n```json\n\
{\n \"operation\": \"create\",\n \"blueprint\": \"\
blueprint_identifier\",\n \"filter\": \"true\",\n \
\ \"itemsToParse\": \"true\",\n \"entity\": {\n \
\ \"identifier\": \"new-webhook\",\n \"title\"\
: \"MyNewWebhook\",\n \"icon\": \"webhook\",\n\
\ \"team\": [],\n \"properties\": {\n \
\ \"content\": \"my content\"\n },\n \"\
relations\": {}\n }\n}\n```"
enum:
- create
- type: object
title: Create
properties:
type:
enum:
- create
required:
- type
additionalProperties: false
blueprint:
type: string
description: The identifier of the blueprint to map the
data into.
filter:
type: string
description: A `jq` query used to filter exactly which payloads
sent to the webhook are processed. If set to `"true"`,
all payloads will be processed.
itemsToParse:
type: string
description: A `jq` query that evaluates to an array of
items, used to create multiple entities from a single
webhook event.
entity:
type: object
description: An object defining how to map the data from
the webhook payload into Port entities.
properties:
identifier:
oneOf:
- type: string
description: A `jq` expression used to get data from
the webhook payload, to be used as an identifier
for the entity.
- type: object
properties:
combinator:
type: string
rules:
type: array
items:
type: object
additionalProperties: true
additionalProperties: false
required:
- combinator
- rules
title:
type: string
description: A `jq` expression used to get data from
the webhook payload, to be used as the title of the
entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- type: string
- type: object
properties:
combinator:
type: string
rules:
type: array
items:
type: object
additionalProperties: true
additionalProperties: false
required:
- combinator
- rules
properties:
type: object
description: An object containing the properties of
the entity and their values. For more information
and examples, check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
propertyNames:
type: string
relations:
type: object
description: An object containing the relations of the
entity and their values. For more information and
examples, check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
propertyNames:
type: string
additionalProperties: false
required:
- identifier
required:
- blueprint
- entity
additionalProperties: false
description: The mapping definitions used to map the data from the
webhook into Port entities. For more information and examples,
check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
enabled:
type: boolean
default: true
description: Determines whether the webhook is active or not. If
`false`, any incoming events will be dropped.
security:
type: object
properties:
secret:
type: string
nullable: true
signatureHeaderName:
type: string
nullable: true
signatureAlgorithm:
anyOf:
- type: string
enum:
- sha1
- sha256
- plain
- type: 'null'
signaturePrefix:
type: string
nullable: true
requestIdentifierPath:
type: string
nullable: true
additionalProperties: false
description: The security configuration of the webhook, used to
tell Port how to verify the hashed signature sent with incoming
requests.
For more information and examples, check out the
[documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/#security-configuration).
integrationType:
type: string
enum:
- custom
- template
additionalProperties: false
required:
- title
- enabled
required: true
security:
- bearer:
- create:integrations
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
get:
summary: Get all webhooks
tags:
- Webhook
description: This route allows you to fetch all webhooks configured in your
Port organization. You can also see them in the [data sources page](https://app.getport.io/settings/data-sources)
of your Port account.
To learn more about webhooks, check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
**Permission
requirements**
To use this endpoint, you must have a `moderator` or `admin`
role in your Port organization.
To learn more about the different roles
and permissions, please refer to the [documentation](https://docs.port.io/sso-rbac/users-and-teams/manage-users-teams/#roles--permissions).
security:
- bearer:
- read:integrations
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/webhooks/{identifier}:
patch:
summary: Update a webhook
tags:
- Webhook
description: This route allows you to modify a webhook in your Port organization.
You can also modify it via the [data sources page](https://app.getport.io/settings/data-sources)
of your Port account.
To learn more about webhooks, check out the
[documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type: string
maxLength: 30
description: The identifier of the webhook.
title:
type: string
maxLength: 30
description: The title of the webhook, which will be displayed in
the [data sources page](https://app.getport.io/settings/data-sources)
of your Port account.
description:
type: string
maxLength: 200
description: A description for the webhook.
icon:
type: string
description: The icon of the webhook.
mappings:
type: array
items:
type: object
properties:
operation:
oneOf:
- title: Advanced create
description: "If the operation is `create`, the [entity\
\ JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure)\
\ properties must be provided. For example:\n```json\n\
{\n \"operation\": \"create\",\n \"blueprint\": \"blueprint_identifier\"\
,\n \"filter\": \"true\",\n \"itemsToParse\": \"true\"\
,\n \"entity\": {\n \"identifier\": \"new-webhook\"\
,\n \"title\": \"MyNewWebhook\",\n \"icon\"\
: \"webhook\",\n \"team\": [],\n \"properties\"\
: {\n \"content\": \"my content\"\n },\n \
\ \"relations\": {}\n }\n}\n```"
enum:
- create
- type: object
title: Create
properties:
type:
enum:
- create
required:
- type
additionalProperties: false
- title: Delete
description: "If the selected operation is `delete`, a blueprint\
\ identifier, and entity identifier must be provided,\
\ for example:\n```json\n{\n \"operation\": \"delete\"\
,\n \"filter\": \"true\",\n \"itemsToParse\": \"true\"\
,\n \"blueprint\": \"blueprint_identifier\",\n \"entity\"\
: {\n \"identifier\": \"entity_identifier\"\n }\n\
}\n```"
enum:
- delete
- type: object
title: Advanced delete
properties:
type:
enum:
- delete
deleteDependents:
type: boolean
required:
- type
additionalProperties: false
description: If the selected operation is `delete`, a blueprint
identifier, and entity identifier must be provided. If the
operation is `create`, the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure)
properties must be provided.
if:
properties:
operation:
oneOf:
- title: Delete
description: "If the selected operation is `delete`, a\
\ blueprint identifier, and entity identifier must be\
\ provided, for example:\n```json\n{\n \"operation\"\
: \"delete\",\n \"filter\": \"true\",\n \"itemsToParse\"\
: \"true\",\n \"blueprint\": \"blueprint_identifier\"\
,\n \"entity\": {\n \"identifier\": \"entity_identifier\"\
\n }\n}\n```"
enum:
- delete
- type: object
title: Advanced delete
properties:
type:
enum:
- delete
deleteDependents:
type: boolean
required:
- type
additionalProperties: false
required:
- operation
then:
properties:
operation:
oneOf:
- title: Delete
description: "If the selected operation is `delete`, a\
\ blueprint identifier, and entity identifier must be\
\ provided, for example:\n```json\n{\n \"operation\"\
: \"delete\",\n \"filter\": \"true\",\n \"itemsToParse\"\
: \"true\",\n \"blueprint\": \"blueprint_identifier\"\
,\n \"entity\": {\n \"identifier\": \"entity_identifier\"\
\n }\n}\n```"
enum:
- delete
- type: object
title: Advanced delete
properties:
type:
enum:
- delete
deleteDependents:
type: boolean
required:
- type
additionalProperties: false
blueprint:
type: string
description: The identifier of the blueprint to map the
data into.
filter:
type: string
description: A `jq` query used to filter exactly which payloads
sent to the webhook are processed. If set to `"true"`,
all payloads will be processed.
itemsToParse:
type: string
description: A `jq` query that evaluates to an array of
items, used to create multiple entities from a single
webhook event.
entity:
type: object
properties:
identifier:
type: string
additionalProperties: false
required:
- identifier
required:
- blueprint
- entity
additionalProperties: true
else:
properties:
operation:
oneOf:
- title: Advanced create
description: "If the operation is `create`, the [entity\
\ JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure)\
\ properties must be provided. For example:\n```json\n\
{\n \"operation\": \"create\",\n \"blueprint\": \"\
blueprint_identifier\",\n \"filter\": \"true\",\n \
\ \"itemsToParse\": \"true\",\n \"entity\": {\n \
\ \"identifier\": \"new-webhook\",\n \"title\"\
: \"MyNewWebhook\",\n \"icon\": \"webhook\",\n\
\ \"team\": [],\n \"properties\": {\n \
\ \"content\": \"my content\"\n },\n \"\
relations\": {}\n }\n}\n```"
enum:
- create
- type: object
title: Create
properties:
type:
enum:
- create
required:
- type
additionalProperties: false
blueprint:
type: string
description: The identifier of the blueprint to map the
data into.
filter:
type: string
description: A `jq` query used to filter exactly which payloads
sent to the webhook are processed. If set to `"true"`,
all payloads will be processed.
itemsToParse:
type: string
description: A `jq` query that evaluates to an array of
items, used to create multiple entities from a single
webhook event.
entity:
type: object
description: An object defining how to map the data from
the webhook payload into Port entities.
properties:
identifier:
oneOf:
- type: string
description: A `jq` expression used to get data from
the webhook payload, to be used as an identifier
for the entity.
- type: object
properties:
combinator:
type: string
rules:
type: array
items:
type: object
additionalProperties: true
additionalProperties: false
required:
- combinator
- rules
title:
type: string
description: A `jq` expression used to get data from
the webhook payload, to be used as the title of the
entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- type: string
- type: object
properties:
combinator:
type: string
rules:
type: array
items:
type: object
additionalProperties: true
additionalProperties: false
required:
- combinator
- rules
properties:
type: object
description: An object containing the properties of
the entity and their values. For more information
and examples, check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
propertyNames:
type: string
relations:
type: object
description: An object containing the relations of the
entity and their values. For more information and
examples, check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
propertyNames:
type: string
additionalProperties: false
required:
- identifier
required:
- blueprint
- entity
additionalProperties: false
description: The mapping definitions used to map the data from the
webhook into Port entities. For more information and examples,
check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
enabled:
type: boolean
default: true
description: Determines whether the webhook is active or not. If
`false`, any incoming events will be dropped.
security:
type: object
properties:
secret:
type: string
nullable: true
signatureHeaderName:
type: string
nullable: true
signatureAlgorithm:
anyOf:
- type: string
enum:
- sha1
- sha256
- plain
- type: 'null'
signaturePrefix:
type: string
nullable: true
requestIdentifierPath:
type: string
nullable: true
additionalProperties: false
description: The security configuration of the webhook, used to
tell Port how to verify the hashed signature sent with incoming
requests.
For more information and examples, check out the
[documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/#security-configuration).
integrationType:
type: string
enum:
- custom
- template
additionalProperties: false
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer:
- update:integrations
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
put:
summary: Change a webhook
tags:
- Webhook
description: This route allows you to modify a webhook in your Port organization.
You can also modify it via the [data sources page](https://app.getport.io/settings/data-sources)
of your Port account.
To learn more about webhooks, check out the
[documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type: string
maxLength: 30
description: The identifier of the webhook.
title:
type: string
maxLength: 30
description: The title of the webhook, which will be displayed in
the [data sources page](https://app.getport.io/settings/data-sources)
of your Port account.
description:
type: string
maxLength: 200
description: A description for the webhook.
icon:
type: string
description: The icon of the webhook.
mappings:
type: array
items:
type: object
properties:
operation:
oneOf:
- title: Advanced create
description: "If the operation is `create`, the [entity\
\ JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure)\
\ properties must be provided. For example:\n```json\n\
{\n \"operation\": \"create\",\n \"blueprint\": \"blueprint_identifier\"\
,\n \"filter\": \"true\",\n \"itemsToParse\": \"true\"\
,\n \"entity\": {\n \"identifier\": \"new-webhook\"\
,\n \"title\": \"MyNewWebhook\",\n \"icon\"\
: \"webhook\",\n \"team\": [],\n \"properties\"\
: {\n \"content\": \"my content\"\n },\n \
\ \"relations\": {}\n }\n}\n```"
enum:
- create
- type: object
title: Create
properties:
type:
enum:
- create
required:
- type
additionalProperties: false
- title: Delete
description: "If the selected operation is `delete`, a blueprint\
\ identifier, and entity identifier must be provided,\
\ for example:\n```json\n{\n \"operation\": \"delete\"\
,\n \"filter\": \"true\",\n \"itemsToParse\": \"true\"\
,\n \"blueprint\": \"blueprint_identifier\",\n \"entity\"\
: {\n \"identifier\": \"entity_identifier\"\n }\n\
}\n```"
enum:
- delete
- type: object
title: Advanced delete
properties:
type:
enum:
- delete
deleteDependents:
type: boolean
required:
- type
additionalProperties: false
description: If the selected operation is `delete`, a blueprint
identifier, and entity identifier must be provided. If the
operation is `create`, the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure)
properties must be provided.
if:
properties:
operation:
oneOf:
- title: Delete
description: "If the selected operation is `delete`, a\
\ blueprint identifier, and entity identifier must be\
\ provided, for example:\n```json\n{\n \"operation\"\
: \"delete\",\n \"filter\": \"true\",\n \"itemsToParse\"\
: \"true\",\n \"blueprint\": \"blueprint_identifier\"\
,\n \"entity\": {\n \"identifier\": \"entity_identifier\"\
\n }\n}\n```"
enum:
- delete
- type: object
title: Advanced delete
properties:
type:
enum:
- delete
deleteDependents:
type: boolean
required:
- type
additionalProperties: false
required:
- operation
then:
properties:
operation:
oneOf:
- title: Delete
description: "If the selected operation is `delete`, a\
\ blueprint identifier, and entity identifier must be\
\ provided, for example:\n```json\n{\n \"operation\"\
: \"delete\",\n \"filter\": \"true\",\n \"itemsToParse\"\
: \"true\",\n \"blueprint\": \"blueprint_identifier\"\
,\n \"entity\": {\n \"identifier\": \"entity_identifier\"\
\n }\n}\n```"
enum:
- delete
- type: object
title: Advanced delete
properties:
type:
enum:
- delete
deleteDependents:
type: boolean
required:
- type
additionalProperties: false
blueprint:
type: string
description: The identifier of the blueprint to map the
data into.
filter:
type: string
description: A `jq` query used to filter exactly which payloads
sent to the webhook are processed. If set to `"true"`,
all payloads will be processed.
itemsToParse:
type: string
description: A `jq` query that evaluates to an array of
items, used to create multiple entities from a single
webhook event.
entity:
type: object
properties:
identifier:
type: string
additionalProperties: false
required:
- identifier
required:
- blueprint
- entity
additionalProperties: true
else:
properties:
operation:
oneOf:
- title: Advanced create
description: "If the operation is `create`, the [entity\
\ JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure)\
\ properties must be provided. For example:\n```json\n\
{\n \"operation\": \"create\",\n \"blueprint\": \"\
blueprint_identifier\",\n \"filter\": \"true\",\n \
\ \"itemsToParse\": \"true\",\n \"entity\": {\n \
\ \"identifier\": \"new-webhook\",\n \"title\"\
: \"MyNewWebhook\",\n \"icon\": \"webhook\",\n\
\ \"team\": [],\n \"properties\": {\n \
\ \"content\": \"my content\"\n },\n \"\
relations\": {}\n }\n}\n```"
enum:
- create
- type: object
title: Create
properties:
type:
enum:
- create
required:
- type
additionalProperties: false
blueprint:
type: string
description: The identifier of the blueprint to map the
data into.
filter:
type: string
description: A `jq` query used to filter exactly which payloads
sent to the webhook are processed. If set to `"true"`,
all payloads will be processed.
itemsToParse:
type: string
description: A `jq` query that evaluates to an array of
items, used to create multiple entities from a single
webhook event.
entity:
type: object
description: An object defining how to map the data from
the webhook payload into Port entities.
properties:
identifier:
oneOf:
- type: string
description: A `jq` expression used to get data from
the webhook payload, to be used as an identifier
for the entity.
- type: object
properties:
combinator:
type: string
rules:
type: array
items:
type: object
additionalProperties: true
additionalProperties: false
required:
- combinator
- rules
title:
type: string
description: A `jq` expression used to get data from
the webhook payload, to be used as the title of the
entity.
icon:
type: string
description: The icon of the entity.
team:
oneOf:
- type: string
- type: object
properties:
combinator:
type: string
rules:
type: array
items:
type: object
additionalProperties: true
additionalProperties: false
required:
- combinator
- rules
properties:
type: object
description: An object containing the properties of
the entity and their values. For more information
and examples, check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
propertyNames:
type: string
relations:
type: object
description: An object containing the relations of the
entity and their values. For more information and
examples, check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
propertyNames:
type: string
additionalProperties: false
required:
- identifier
required:
- blueprint
- entity
additionalProperties: false
description: The mapping definitions used to map the data from the
webhook into Port entities. For more information and examples,
check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
enabled:
type: boolean
default: true
description: Determines whether the webhook is active or not. If
`false`, any incoming events will be dropped.
security:
type: object
properties:
secret:
type: string
nullable: true
signatureHeaderName:
type: string
nullable: true
signatureAlgorithm:
anyOf:
- type: string
enum:
- sha1
- sha256
- plain
- type: 'null'
signaturePrefix:
type: string
nullable: true
requestIdentifierPath:
type: string
nullable: true
additionalProperties: false
description: The security configuration of the webhook, used to
tell Port how to verify the hashed signature sent with incoming
requests.
For more information and examples, check out the
[documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/#security-configuration).
integrationType:
type: string
enum:
- custom
- template
additionalProperties: false
required:
- title
- enabled
required: true
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer:
- update:integrations
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
get:
summary: Get a webhook
tags:
- Webhook
description: This route allows you to fetch a specific webhook in your Port
organization. You can also see it in the [data sources page](https://app.getport.io/settings/data-sources)
of your Port account.
To learn more about webhooks, check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
**Permission
requirements**
To use this endpoint, you must have a `moderator` or `admin`
role in your Port organization.
To learn more about the different roles
and permissions, please refer to the [documentation](https://docs.port.io/sso-rbac/users-and-teams/manage-users-teams/#roles--permissions).
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer:
- read:integrations
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
delete:
summary: Delete a webhook
tags:
- Webhook
description: This route allows you to delete a webhook in your Port organization.
You can also delete it via the [data sources page](https://app.getport.io/settings/data-sources)
of your Port account.
To learn more about webhooks, check out the
[documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
parameters:
- schema:
type: string
in: path
name: identifier
required: true
description: The unique identifier of the resource you want to operate on.
security:
- bearer:
- delete:integrations
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/webhooks/metadata:
get:
summary: Get all webhooks meta-data (member view)
tags:
- Webhook
description: This route allows members to fetch meta-data on all webhooks in
their Port organization.
The response includes each webhook's identifier,
title, icon, and last update timestamp.
security:
- bearer:
- read:integrations:basic
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/audit-log:
get:
summary: Get audit logs
tags:
- Audit
description: Fetch audit logs from your Port account (also viewable in [Port's
UI](https://app.getport.io/settings/AuditLog)).
All query parameters
are combined with logical `AND`.
**Non-admin users** have limited
access. They can only:
- Pass an `identifier` to access a specific log.
-
Pass an `entity` to retrieve logs of entities they have access to.
- Pass
a `run_id` to retrieve logs of action runs they have access to.
Non-admin
users **cannot** view logs of deleted entities.
**Performance:**
The optional `limit` parameter defaults to `10000`. Omitting `limit` previously
used a default of `100000`, which often caused `504 Gateway Timeout` on large
accounts. For very broad queries you may still need a lower `limit` or narrower
`from`/`to` time windows.
parameters:
- schema:
type: string
in: query
name: identifier
required: false
description: An identifier of the log event you want to fetch.
- schema:
type: string
in: query
name: entity
required: false
description: Fetch all audit logs related to the specified entity.
- schema:
type: boolean
in: query
name: include_deleted_entities
required: false
description: Include deleted entities when searching for audit logs. This
requires the `entity`, `blueprint`, `status`, `from` and `to` parameters.
And the diff between `from` & `to` is limited to 1 day.
- schema:
type: string
in: query
name: blueprint
required: false
description: Fetch all audit logs related to the specified blueprint.
- schema:
type: string
in: query
name: run_id
required: false
description: Fetch all audit logs related to the specified action run.
- schema:
type: string
in: query
name: webhookId
required: false
description: Fetch all audit logs related to the specified webhook.
- schema:
type: string
in: query
name: webhookEventId
required: false
description: Fetch all audit logs related to the specified webhook event.
- schema:
type: array
items:
type: string
in: query
name: origin
required: false
description: Fetch all audit logs coming from the specified origin/s. This
refers to the integration/s that triggered the log. For operations performed
via Port's UI, the origin will be `UI`.
- schema:
type: string
in: query
name: InstallationId
required: false
description: Fetch all audit logs related to the specified integration.
- schema:
anyOf:
- type: array
items:
type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
- type: string
enum:
- entity
- blueprint_permission
- blueprint
- run
- webhook
- action
- action_permission
- scorecard
- integration
- secret
in: query
name: resources
required: false
description: 'Fetch all audit logs related to the specified resource type/s.
**Possible
values**: [`blueprint`, `entity`, `run`, `webhook`, `scorecard`, `action`,
`integration`]
The `integration` value is **experimental** and may change
in future API versions.'
- schema:
type: array
items:
enum:
- action
- context
- diff
- identifier
- resourceType
- status
- trigger
- additionalData
- message
in: query
name: includes
required: false
description: The fields you want to include in the response. If used, only
the specified fields will be included in the response.
- schema:
type: string
format: date-time
in: query
name: from
required: false
description: The starting timestamp of the audit logs you want to fetch, in
the ISO format `2022-04-23T18:25:43.511Z`.
- schema:
type: string
format: date-time
in: query
name: to
required: false
description: The ending timestamp of the audit logs you want to fetch, in
the ISO format `2022-04-23T18:25:43.511Z`.
- schema:
type: string
in: query
name: action
required: false
description: Fetch all audit logs with the specified action type - `CREATE`,
`UPDATE`, or `DELETE`.
- schema:
type: string
enum:
- SUCCESS
- FAILURE
in: query
name: status
required: false
description: Fetch all audit logs with the specified status.
- schema:
type: number
in: query
name: limit
required: false
description: The maximum number of logs to return. Optional; defaults to `10000`.
The previous default was `100000`, which could cause `504 Gateway Timeout`
on large accounts. Use a lower value or narrow `from` and `to` if you still
hit timeouts.
- schema:
type: string
enum:
- automation
- self-service
in: query
name: actionType
required: false
security:
- bearer:
- read:audit-log
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/teams:
get:
summary: Get all teams in your organization
tags:
- Teams
description: This route allows you to fetch all of the teams in your Port organization.
To
learn more about teams, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/).
parameters:
- schema:
type: array
items:
enum:
- id
- name
- createdAt
- updatedAt
- provider
- description
- users.firstName
- users.lastName
- users.email
- users.picture
- users.status
in: query
name: fields
required: false
description: The fields you want to fetch for each team. If used, only the
specified fields will be included in the response.
security:
- bearer:
- read:teams
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
description: Retrieved successfully.
type: object
properties:
ok:
enum:
- true
teams:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
provider:
type: string
description:
type: string
users:
type: array
items:
type: object
properties:
email:
type: string
firstName:
type: string
lastName:
type: string
picture:
type: string
status:
type: string
required:
- teams
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
post:
summary: Create a team
tags:
- Teams
description: This route allows you to create a new team in your Port organization.
To
learn more about teams, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/).
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
pattern: ^[^;#/\?\s][^;#/\?]*[^;#/\?\s]$
description: The name of the new team.
users:
type: array
items:
type: string
description: One or more e-mail addresses of users to add to the
new team.
description:
type: string
description: The description of the new team.
required:
- name
required: true
security:
- bearer:
- create:teams
responses:
'200':
description: Created successfully.
content:
application/json:
schema:
description: Created successfully.
type: object
properties:
ok:
enum:
- true
team:
type: object
properties:
id:
type: string
name:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
provider:
type: string
description:
type: string
users:
type: array
items:
type: object
properties:
email:
type: string
firstName:
type: string
lastName:
type: string
picture:
type: string
status:
type: string
required:
- team
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/teams/{name}:
get:
summary: Get a team
tags:
- Teams
description: This route allows you to fetch a specific team in your Port organization.
To
learn more about teams, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/).
parameters:
- schema:
type: array
items:
enum:
- id
- name
- createdAt
- updatedAt
- provider
- description
- users.firstName
- users.lastName
- users.email
- users.picture
- users.status
in: query
name: fields
required: false
description: The fields you want to fetch for the team. If used, only the
specified fields will be included in the response.
- schema:
type: string
in: path
name: name
required: true
description: The name of the team you want to fetch.
security:
- bearer:
- read:teams
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
description: Retrieved successfully.
type: object
properties:
ok:
enum:
- true
team:
type: object
properties:
id:
type: string
name:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
provider:
type: string
description:
type: string
required:
- team
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
patch:
summary: Update a team
tags:
- Teams
description: This route allows you to update a team's details. This can be used
to update the team's name, users, and description.
To learn more
about teams, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/).
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The new name of the team.
users:
type: array
items:
type: string
description: One or more e-mail addresses of users to add to the
new team. This will override the existing user list.
description:
type:
- string
- 'null'
description: The new description of the team.
parameters:
- schema:
type: string
in: path
name: name
required: true
description: The name of the team you want to update.
security:
- bearer:
- update:teams
responses:
'200':
description: Updated successfully.
content:
application/json:
schema:
description: Updated successfully.
type: object
properties:
ok:
enum:
- true
team:
type: object
properties:
id:
type: string
name:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
provider:
type: string
description:
type: string
users:
type: array
items:
type: object
properties:
email:
type: string
firstName:
type: string
lastName:
type: string
picture:
type: string
status:
type: string
required:
- team
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
put:
summary: Change a team
tags:
- Teams
description: This route allows you to change a team's details. This can be used
to update the team's name, users, and description.
To learn more
about teams, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/).
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The new name of the team.
users:
type: array
items:
type: string
description: One or more e-mail addresses of users to add to the
new team. This will override the existing user list.
description:
type: string
description: The new description of the team.
required:
- name
required: true
parameters:
- schema:
type: string
in: path
name: name
required: true
description: The name of the team you want to change.
security:
- bearer:
- update:teams
responses:
'200':
description: Updated successfully.
content:
application/json:
schema:
description: Updated successfully.
type: object
properties:
ok:
enum:
- true
team:
type: object
properties:
id:
type: string
name:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
provider:
type: string
description:
type: string
users:
type: array
items:
type: object
properties:
email:
type: string
firstName:
type: string
lastName:
type: string
picture:
type: string
status:
type: string
required:
- team
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
delete:
summary: Delete a team
tags:
- Teams
description: This route allows you to delete a team in your Port organization.
To
learn more about teams, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/).
parameters:
- schema:
type: string
in: path
name: name
required: true
description: The name of the team you want to delete.
security:
- bearer:
- delete:teams
responses:
'200':
description: Deleted successfully.
content:
application/json:
schema:
description: Deleted successfully.
properties:
ok:
enum:
- true
required:
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/users:
get:
summary: Get all users in your organization
tags:
- Users
description: This route allows you to fetch all of the users in your Port organization.
To
learn more about users, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/).
parameters:
- schema:
type: array
style: form
explode: true
items:
type: string
enum:
- id
- email
- firstName
- isInvisible
- lastName
- picture
- status
- supportLevel
- type
- providers
- managedByScim
- createdAt
- updatedAt
- teams.name
- teams.provider
- teams.createdAt
- teams.updatedAt
- roles.name
- roles.description
- roles.isAdmin
- roles.protected
- roles.orgId
- roles.createdAt
- roles.updatedAt
- orgMembers.orgId
- orgMembers.status
- orgMembers.lastLoginAt
in: query
name: fields
required: false
description: The fields you want to fetch for each user. If used, only the
specified fields will be included in the response.
security:
- bearer:
- read:users
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
description: Retrieved successfully.
type: object
properties:
ok:
enum:
- true
users:
type: array
items:
properties:
email:
type: string
firstName:
type: string
lastName:
type: string
picture:
type: string
status:
type: string
id:
type: string
type:
type: string
providers:
type: array
items:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
orgs:
type: array
items:
type: object
properties:
id:
type: string
required:
- id
teams:
type: array
items:
type: string
roles:
type: array
items:
type: object
properties:
name:
type: string
required:
- name
orgMembers:
type: array
items:
type: object
properties:
orgId:
type: string
status:
type: string
lastLoginAt:
type: string
format: date-time
required:
- orgId
- status
- lastLoginAt
termsAccepted:
type: boolean
default: null
managedByScim:
type: boolean
default: null
required:
- users
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/users/invite:
post:
summary: Invite a user to your organization
tags:
- Users
description: This route allows you to invite a user to your Port organization.
To
learn more about users, roles, and teams, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/).
requestBody:
content:
application/json:
schema:
type: object
properties:
invitee:
type: object
description: The details of the user you want to invite.
properties:
email:
type: string
pattern: ^[^;#/\?\s][^;#/\?]*[^;#/\?\s]$
description: The user's email address.
roles:
type: array
items:
type: string
description: The roles you want to assign to the user.
teams:
type: array
items:
type: string
description: The names of the teams you want to assign the user
to.
required:
- email
additionalProperties: false
required:
- invitee
required: true
parameters:
- schema:
type: boolean
default: true
in: query
name: notify
required: false
description: If `true`, the invitee will receive an email notification.
security:
- bearer:
- create:users
responses:
'200':
description: Created successfully.
content:
application/json:
schema:
description: Created successfully.
properties:
ok:
enum:
- true
required:
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/users/{user_email}:
get:
summary: Get a user
tags:
- Users
description: This route allows you to fetch a specific user in your Port organization.
To
learn more about users, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/).
parameters:
- schema:
type: string
in: path
name: user_email
required: true
description: The email address of the user you want to operate on.
security:
- bearer:
- read:users
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
description: Retrieved successfully.
properties:
ok:
enum:
- true
user:
properties:
email:
type: string
firstName:
type: string
lastName:
type: string
picture:
type: string
status:
type: string
id:
type: string
type:
type: string
providers:
type: array
items:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
orgs:
type: array
items:
type: object
properties:
id:
type: string
required:
- id
teams:
type: array
items:
type: string
roles:
type: array
items:
type: object
properties:
name:
type: string
required:
- name
orgMembers:
type: array
items:
type: object
properties:
orgId:
type: string
status:
type: string
lastLoginAt:
type: string
format: date-time
required:
- orgId
- status
- lastLoginAt
termsAccepted:
type: boolean
default: null
managedByScim:
type: boolean
default: null
teamsIdentifiers:
type: array
items:
type: string
required:
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
patch:
summary: Update a user
tags:
- Users
description: This route allows you to update a user's details. This can be used
to update the user's role/s and team/s.
To learn more about users,
roles, and teams, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/).
requestBody:
content:
application/json:
schema:
type: object
properties:
roles:
type: array
minItems: 1
items:
type: string
description: The roles you want to assign to the user.
teams:
type: array
items:
type: string
description: The names of the teams you want to assign the user
to.
additionalProperties: false
parameters:
- schema:
type: string
in: path
name: user_email
required: true
description: The email address of the user you want to operate on.
security:
- bearer:
- update:users
responses:
'200':
description: Updated successfully.
content:
application/json:
schema:
properties:
ok:
enum:
- true
email:
type: string
firstName:
type: string
lastName:
type: string
picture:
type: string
status:
type: string
id:
type: string
type:
type: string
providers:
type: array
items:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
orgs:
type: array
items:
type: object
properties:
id:
type: string
required:
- id
teams:
type: array
items:
type: string
roles:
type: array
items:
type: object
properties:
name:
type: string
required:
- name
orgMembers:
type: array
items:
type: object
properties:
orgId:
type: string
status:
type: string
lastLoginAt:
type: string
format: date-time
required:
- orgId
- status
- lastLoginAt
termsAccepted:
type: boolean
default: null
managedByScim:
type: boolean
default: null
description: Updated successfully.
required:
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
delete:
summary: Delete a user
tags:
- Users
description: This route allows you to delete a user in your Port organization.
To
learn more about users, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/).
parameters:
- schema:
type: string
in: path
name: user_email
required: true
description: The email address of the user you want to operate on.
security:
- bearer:
- delete:users
responses:
'200':
description: Deleted successfully.
content:
application/json:
schema:
description: Deleted successfully.
properties:
ok:
enum:
- true
required:
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/apps:
get:
summary: Get all credentials
tags:
- Apps
description: This route allows you to fetch all credentials in your Port organization.
parameters:
- schema:
type: array
items:
type: string
enum:
- id
- name
- createdAt
- updatedAt
- secret
- enabled
in: query
name: fields
required: false
description: The fields to include in the response. If not specified, all
fields will be included.
security:
- bearer:
- read:apps
responses:
'200':
description: Retrieved successfully.
content:
application/json:
schema:
properties:
ok:
enum:
- true
apps:
type: array
items:
type: object
properties:
name:
type: string
enabled:
type: boolean
id:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
secret:
type: string
required:
- ok
additionalProperties: false
description: Retrieved successfully.
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/apps/{id}/rotate-secret:
post:
summary: Rotate secret
tags:
- Apps
description: This route allows you to rotate the secret of a set of credentials
in your Port organization.
parameters:
- schema:
type: string
in: path
name: id
required: true
description: The `id` of the credentials set you want to operate on.
security:
- bearer:
- update:apps
responses:
'200':
description: OK
content:
application/json:
schema:
properties:
ok:
enum:
- true
app:
type: object
properties:
name:
type: string
enabled:
type: boolean
id:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
secret:
type: string
required:
- ok
additionalProperties: false
description: OK
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/apps/{id}:
delete:
summary: Delete credentials
tags:
- Apps
description: This route allows you to delete a set of credentials in your Port
organization.
parameters:
- schema:
type: string
in: path
name: id
required: true
description: The `id` of the credentials set you want to operate on.
security:
- bearer:
- update:apps
responses:
'200':
description: Deleted successfully.
content:
application/json:
schema:
description: Deleted successfully.
properties:
ok:
enum:
- true
required:
- ok
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
put:
summary: Change the name of a credentials set
tags:
- Apps
description: This route allows you to change the name of a set of credentials
in your Port organization.
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The new name of the credentials set.
additionalProperties: false
required:
- name
required: true
parameters:
- schema:
type: string
in: path
name: id
required: true
description: The `id` of the credentials set you want to operate on.
security:
- bearer:
- update:apps
responses:
'200':
description: Updated successfully.
content:
application/json:
schema:
properties:
ok:
enum:
- true
app:
type: object
properties:
name:
type: string
enabled:
type: boolean
id:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
secret:
type: string
required:
- ok
additionalProperties: false
description: Updated successfully.
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/rotate-credentials/{user_email}:
post:
summary: Rotate a user's credentials
tags:
- Authentication / Authorization
description: This route allows you to rotate a user's credentials and generate
new ones.
parameters:
- schema:
type: string
in: path
name: user_email
required: true
description: The email address of the user you want to operate on.
security:
- bearer:
- update:users
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/blueprints/{blueprint_identifier}/scorecards:
post:
summary: Create a scorecard
tags:
- Scorecards
description: This route allows you to create a scorecard for a given blueprint.
A scorecard is a set of rules that define the quality of a blueprint.
To
learn more about scorecards, check out the [documentation](https://docs.port.io/scorecards/overview).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 100
description: A unique identifier for the scorecard.
title:
type: string
description: The title of the scorecard.
filter:
type: object
properties:
combinator:
type: string
enum:
- and
- or
description: The combinator to use when evaluating the conditions.
conditions:
type: array
minItems: 1
description: The conditions to evaluate.
items:
anyOf:
- type: object
title: Property between condition
properties:
property:
type: string
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Preset date range
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
required:
- preset
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Property containsAny condition
properties:
property:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- property
- operator
- value
- type: object
title: Relation containsAny condition
properties:
relation:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- relation
- operator
- value
- type: object
title: Property comparison
properties:
property:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- property
- operator
- value
- type: object
title: Relation comparison
properties:
relation:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- relation
- operator
- value
- type: object
title: Property empty condition
properties:
not:
type: boolean
property:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- property
- operator
- type: object
title: Relation empty condition
properties:
not:
type: boolean
relation:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- relation
- operator
required:
- combinator
- conditions
description: An optional set of [conditions](https://docs.port.io/scorecards/concepts-and-structure/#conditions)
to filter entities that will be evaluated by the scorecard.
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
description: An object containing the additional properties of the
scorecard, in `"key":"value"` pairs where the `key` is the property's
identifier, and the `value` is its value.
rules:
type: array
description: The [rules](https://docs.port.io/scorecards/concepts-and-structure/#rule-elements)
that define the scorecard.
items:
type: object
properties:
identifier:
type: string
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
description: The identifier of the rule.
title:
type: string
description: The title of the rule.
description:
type: string
description: A description for the rule.
level:
type: string
description: The level of the rule (Gold, Silver, or Bronze).
query:
type: object
properties:
combinator:
type: string
enum:
- and
- or
description: The combinator to use when evaluating the
conditions.
conditions:
type: array
minItems: 1
description: The conditions to evaluate.
items:
anyOf:
- type: object
title: Property between condition
properties:
property:
type: string
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Preset date range
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
required:
- preset
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Property containsAny condition
properties:
property:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- property
- operator
- value
- type: object
title: Relation containsAny condition
properties:
relation:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- relation
- operator
- value
- type: object
title: Property comparison
properties:
property:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- property
- operator
- value
- type: object
title: Relation comparison
properties:
relation:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- relation
- operator
- value
- type: object
title: Property empty condition
properties:
not:
type: boolean
property:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- property
- operator
- type: object
title: Relation empty condition
properties:
not:
type: boolean
relation:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- relation
- operator
required:
- combinator
- conditions
description: The query that defines the rule.
required:
- identifier
- title
- level
- query
levels:
type: array
description: The available levels of the scorecard, each with its
own name and color.
items:
type: object
properties:
title:
type: string
description: The name of the level.
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
description: The color associated with the level, for visualization
in Port's UI.
required:
- title
- color
if:
properties:
levels:
type: array
minItems: 1
then:
properties:
rules:
type: array
items:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 100
title:
type: string
description:
type: string
level:
type: string
query:
type: object
properties:
combinator:
type: string
enum:
- and
- or
description: The combinator to use when evaluating the
conditions.
conditions:
type: array
minItems: 1
description: The conditions to evaluate.
items:
anyOf:
- type: object
title: Property between condition
properties:
property:
type: string
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Preset date range
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
required:
- preset
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Property containsAny condition
properties:
property:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- property
- operator
- value
- type: object
title: Relation containsAny condition
properties:
relation:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- relation
- operator
- value
- type: object
title: Property comparison
properties:
property:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- property
- operator
- value
- type: object
title: Relation comparison
properties:
relation:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- relation
- operator
- value
- type: object
title: Property empty condition
properties:
not:
type: boolean
property:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- property
- operator
- type: object
title: Relation empty condition
properties:
not:
type: boolean
relation:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- relation
- operator
required:
- combinator
- conditions
required:
- identifier
- title
- query
else:
properties:
rules:
type: array
items:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 100
title:
type: string
description:
type: string
level:
type: string
enum:
- Gold
- Silver
- Bronze
query:
type: object
properties:
combinator:
type: string
enum:
- and
- or
description: The combinator to use when evaluating the
conditions.
conditions:
type: array
minItems: 1
description: The conditions to evaluate.
items:
anyOf:
- type: object
title: Property between condition
properties:
property:
type: string
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Preset date range
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
required:
- preset
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Property containsAny condition
properties:
property:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- property
- operator
- value
- type: object
title: Relation containsAny condition
properties:
relation:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- relation
- operator
- value
- type: object
title: Property comparison
properties:
property:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- property
- operator
- value
- type: object
title: Relation comparison
properties:
relation:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- relation
- operator
- value
- type: object
title: Property empty condition
properties:
not:
type: boolean
property:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- property
- operator
- type: object
title: Relation empty condition
properties:
not:
type: boolean
relation:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- relation
- operator
required:
- combinator
- conditions
required:
- identifier
- title
- query
additionalProperties: false
required:
- identifier
- title
- rules
required: true
parameters:
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
put:
summary: Change scorecards
tags:
- Scorecards
description: This route allows you to modify one or more scorecards of a given
blueprint. A scorecard is a set of rules that define the quality of a blueprint.
To
learn more about scorecards, check out the [documentation](https://docs.port.io/scorecards/overview).
requestBody:
content:
application/json:
schema:
type: array
items:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 100
description: A unique identifier for the scorecard.
title:
type: string
description: The title of the scorecard.
filter:
type: object
properties:
combinator:
type: string
enum:
- and
- or
description: The combinator to use when evaluating the conditions.
conditions:
type: array
minItems: 1
description: The conditions to evaluate.
items:
anyOf:
- type: object
title: Property between condition
properties:
property:
type: string
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Preset date range
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
required:
- preset
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Property containsAny condition
properties:
property:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- property
- operator
- value
- type: object
title: Relation containsAny condition
properties:
relation:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- relation
- operator
- value
- type: object
title: Property comparison
properties:
property:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- property
- operator
- value
- type: object
title: Relation comparison
properties:
relation:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- relation
- operator
- value
- type: object
title: Property empty condition
properties:
not:
type: boolean
property:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- property
- operator
- type: object
title: Relation empty condition
properties:
not:
type: boolean
relation:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- relation
- operator
required:
- combinator
- conditions
description: An optional set of [conditions](https://docs.port.io/scorecards/concepts-and-structure/#conditions)
to filter entities that will be evaluated by the scorecard.
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
description: An object containing the additional properties of
the scorecard, in `"key":"value"` pairs where the `key` is the
property's identifier, and the `value` is its value.
rules:
type: array
description: The [rules](https://docs.port.io/scorecards/concepts-and-structure/#rule-elements)
that define the scorecard.
items:
type: object
properties:
identifier:
type: string
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
description: The identifier of the rule.
title:
type: string
description: The title of the rule.
description:
type: string
description: A description for the rule.
level:
type: string
description: The level of the rule (Gold, Silver, or Bronze).
query:
type: object
properties:
combinator:
type: string
enum:
- and
- or
description: The combinator to use when evaluating the
conditions.
conditions:
type: array
minItems: 1
description: The conditions to evaluate.
items:
anyOf:
- type: object
title: Property between condition
properties:
property:
type: string
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Preset date range
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
required:
- preset
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Property containsAny condition
properties:
property:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- property
- operator
- value
- type: object
title: Relation containsAny condition
properties:
relation:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- relation
- operator
- value
- type: object
title: Property comparison
properties:
property:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- property
- operator
- value
- type: object
title: Relation comparison
properties:
relation:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- relation
- operator
- value
- type: object
title: Property empty condition
properties:
not:
type: boolean
property:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- property
- operator
- type: object
title: Relation empty condition
properties:
not:
type: boolean
relation:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- relation
- operator
required:
- combinator
- conditions
description: The query that defines the rule.
required:
- identifier
- title
- level
- query
levels:
type: array
description: The available levels of the scorecard, each with
its own name and color.
items:
type: object
properties:
title:
type: string
description: The name of the level.
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
description: The color associated with the level, for visualization
in Port's UI.
required:
- title
- color
id:
type: string
additionalProperties: false
required:
- identifier
- title
- rules
parameters:
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
get:
summary: Get a blueprint's scorecards
tags:
- Scorecards
description: This route allows you to fetch all scorecards for a given blueprint.
A scorecard is a set of rules that define the quality of a blueprint.
To
learn more about scorecards, check out the [documentation](https://docs.port.io/scorecards/overview).
parameters:
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint to operate on.
security:
- bearer:
- read:scorecards
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/blueprints/{blueprint_identifier}/scorecards/{scorecard_identifier}:
put:
summary: Change a scorecard
tags:
- Scorecards
description: This route allows you to modify a specific scorecard. A scorecard
is a set of rules that define the quality of a blueprint.
To learn
more about scorecards, check out the [documentation](https://docs.port.io/scorecards/overview).
requestBody:
content:
application/json:
schema:
type: object
properties:
identifier:
type: string
pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
maxLength: 100
description: A unique identifier for the scorecard.
title:
type: string
description: The title of the scorecard.
filter:
type: object
properties:
combinator:
type: string
enum:
- and
- or
description: The combinator to use when evaluating the conditions.
conditions:
type: array
minItems: 1
description: The conditions to evaluate.
items:
anyOf:
- type: object
title: Property between condition
properties:
property:
type: string
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Preset date range
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
required:
- preset
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Property containsAny condition
properties:
property:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- property
- operator
- value
- type: object
title: Relation containsAny condition
properties:
relation:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- relation
- operator
- value
- type: object
title: Property comparison
properties:
property:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- property
- operator
- value
- type: object
title: Relation comparison
properties:
relation:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- relation
- operator
- value
- type: object
title: Property empty condition
properties:
not:
type: boolean
property:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- property
- operator
- type: object
title: Relation empty condition
properties:
not:
type: boolean
relation:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- relation
- operator
required:
- combinator
- conditions
description: An optional set of [conditions](https://docs.port.io/scorecards/concepts-and-structure/#conditions)
to filter entities that will be evaluated by the scorecard.
properties:
type: object
propertyNames:
pattern: ^[A-Za-z0-9@_=\\-]+$
description: An object containing the additional properties of the
scorecard, in `"key":"value"` pairs where the `key` is the property's
identifier, and the `value` is its value.
rules:
type: array
description: The [rules](https://docs.port.io/scorecards/concepts-and-structure/#rule-elements)
that define the scorecard.
items:
type: object
properties:
identifier:
type: string
pattern: ^[A-Za-z0-9@_=\\-]+$
maxLength: 100
description: The identifier of the rule.
title:
type: string
description: The title of the rule.
description:
type: string
description: A description for the rule.
level:
type: string
description: The level of the rule (Gold, Silver, or Bronze).
query:
type: object
properties:
combinator:
type: string
enum:
- and
- or
description: The combinator to use when evaluating the
conditions.
conditions:
type: array
minItems: 1
description: The conditions to evaluate.
items:
anyOf:
- type: object
title: Property between condition
properties:
property:
type: string
operator:
enum:
- between
- notBetween
- '='
value:
type: object
oneOf:
- type: object
title: Date range
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
required:
- from
- to
- type: object
title: Preset date range
properties:
preset:
type: string
enum:
- today
- tomorrow
- yesterday
- lastWeek
- last2Weeks
- lastMonth
- last3Months
- last6Months
- last12Months
required:
- preset
required:
- property
- operator
- value
additionalProperties: false
- type: object
title: Property containsAny condition
properties:
property:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- property
- operator
- value
- type: object
title: Relation containsAny condition
properties:
relation:
type: string
operator:
type: string
enum:
- containsAny
- in
value:
type: array
items:
type: string
required:
- relation
- operator
- value
- type: object
title: Property comparison
properties:
property:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- property
- operator
- value
- type: object
title: Relation comparison
properties:
relation:
type: string
operator:
type: string
enum:
- '='
- '!='
- '>'
- <
- '>='
- <=
- contains
- doesNotContains
- beginsWith
- doesNotBeginsWith
- endsWith
- doesNotEndsWith
value:
oneOf:
- type: string
title: string
- type: number
title: number
- type: boolean
title: boolean
- type: array
items:
type: string
description: The value to compare against.
required:
- relation
- operator
- value
- type: object
title: Property empty condition
properties:
not:
type: boolean
property:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- property
- operator
- type: object
title: Relation empty condition
properties:
not:
type: boolean
relation:
type: string
operator:
type: string
enum:
- isEmpty
- isNotEmpty
required:
- relation
- operator
required:
- combinator
- conditions
description: The query that defines the rule.
required:
- identifier
- title
- level
- query
levels:
type: array
description: The available levels of the scorecard, each with its
own name and color.
items:
type: object
properties:
title:
type: string
description: The name of the level.
color:
type: string
enum:
- blue
- turquoise
- orange
- purple
- pink
- yellow
- green
- red
- gold
- silver
- paleBlue
- darkGray
- lightGray
- bronze
- lime
- olive
- brown
description: The color associated with the level, for visualization
in Port's UI.
required:
- title
- color
additionalProperties: false
required:
- identifier
- title
- rules
required: true
parameters:
- schema:
type: string
minLength: 1
in: path
name: scorecard_identifier
required: true
description: The identifier of the scorecard to operate on.
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint containing the scorecard.
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
get:
summary: Get a scorecard
tags:
- Scorecards
description: This route allows you to fetch a specific scorecard. A scorecard
is a set of rules that define the quality of a blueprint.
To learn
more about scorecards, check out the [documentation](https://docs.port.io/scorecards/overview).
parameters:
- schema:
type: string
minLength: 1
in: path
name: scorecard_identifier
required: true
description: The identifier of the scorecard to operate on.
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint containing the scorecard.
security:
- bearer:
- read:scorecards
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
delete:
summary: Delete a scorecard
tags:
- Scorecards
description: This route allows you to delete a specific scorecard. A scorecard
is a set of rules that define the quality of a blueprint.
To learn
more about scorecards, check out the [documentation](https://docs.port.io/scorecards/overview).
parameters:
- schema:
type: string
minLength: 1
in: path
name: scorecard_identifier
required: true
description: The identifier of the scorecard to operate on.
- schema:
type: string
minLength: 1
in: path
name: blueprint_identifier
required: true
description: The identifier of the blueprint containing the scorecard.
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/scorecards:
get:
summary: Get all scorecards
tags:
- Scorecards
description: This route allows you to fetch all scorecards in your Port organization.
To
learn more about scorecards, check out the [documentation](https://docs.port.io/scorecards/overview).
security:
- bearer:
- read:scorecards
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/migrations:
get:
summary: Get all migrations
tags:
- Migrations
description: This route allows you to fetch all migrations (both past and present)
in your Port organization.
The call will perform a logical `AND`
operation on the query parameters below, and return all migrations that match
the criteria.
parameters:
- schema:
type: array
items:
type: string
enum:
- COMPLETED
- RUNNING
- PENDING
- INITIALIZING
- FAILURE
- CANCELLED
- PENDING_CANCELLATION
in: query
name: status
required: false
- schema:
type: string
in: query
name: actor
required: false
description: The identifier of the user who initiated the migration. You can
use the [Get user](https://docs.port.io/api-reference/get-a-user/) route
to get a user's identifier.
- schema:
type: string
in: query
name: blueprint
required: false
description: The identifier of the blueprint associated with the migration.
security:
- bearer:
- read:blueprints
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
post:
summary: Create a migration
tags:
- Migrations
description: This route allows you to create a migration in your Port organization.
You can use this to migrate data from one blueprint to another.
**Note**
that it is not possible to directly change the data type of an existing property
via the UI or the API. The type field setting of a property (**number**, **string**,
etc.) is permanent and cannot be changed after creation.
However,
you can create a new property with the desired type and migrate the old values
to it. Refer to the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-data-model/setup-blueprint/properties/#change-a-property-type)
for more information on how to change a property's type.
requestBody:
content:
application/json:
schema:
type: object
properties:
sourceBlueprint:
type: string
description: The identifier of the blueprint from which the migration
will be performed.
mapping:
type: object
description: The definition used to map the data from the source
blueprint into the target blueprint.
properties:
blueprint:
type: string
description: The identifier of the target blueprint.
filter:
type: string
description: An optional set of [conditions](https://docs.port.io/scorecards/concepts-and-structure/#conditions)
to filter the entities that will be migrated.
itemsToParse:
type: string
description: A `jq` query that evaluates to an array of items,
used to create multiple entities at once. See more information
[here](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping/#create-multiple-entities-from-an-array-api-object).
entity:
type: object
properties:
identifier:
type: string
description: A `jq` expression used to get data from the
source blueprint, to be used as an identifier for the
entity.
title:
type: string
description: A `jq` expression used to get data from the
source blueprint, to be used as the title of the entity.
icon:
type: string
description: The icon of the entity.
team:
type: string
description: The team the entity belongs to.
properties:
type: object
description: An object containing the properties of the
entity and their values, in `"key":"value"` pairs where
the `key` is the property's identifier, and the `value`
is its value.
additionalProperties:
type: string
relations:
type: object
description: An object containing the relations of the entity
and their values, in `"key":"value"` pairs where the `key`
is the relation's identifier, and the `value` is the related
entity's identifier for single-relations, or an array
of identifiers for many-relations.
You can also use
a [search query](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#mapping-relations-using-search-queries)
to define relations based on a property of the related
entity.
additionalProperties:
type: string
required:
- entity
required:
- sourceBlueprint
- mapping
additionalProperties: false
required: true
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/migrations/{migration_id}:
get:
summary: Get a migration
tags:
- Migrations
description: This route allows you to fetch a specific migration in your Port
organization.
parameters:
- schema:
type: string
in: path
name: migration_id
required: true
description: The identifier of the migration you want to fetch.
security:
- bearer:
- read:blueprints
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
/v1/migrations/{migration_id}/cancel:
post:
summary: Cancel a migration
tags:
- Migrations
description: This route allows you to cancel a running migration in your Port
organization.
requestBody:
content:
application/json:
schema:
type: object
properties:
reason:
type: string
description: The reason for cancelling the migration.
additionalProperties: false
parameters:
- schema:
type: string
in: path
name: migration_id
required: true
description: The identifier of the migration you want to cancel.
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema
/v1/actions/{action_identifier}/permissions:
get:
summary: Get an action's permissions
tags:
- Actions
description: This route allows you to fetch the permissions of a self-service
action.
To learn more about action RBAC, check out the [documentation](https://docs.port.io/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/).
parameters:
- schema:
type: string
minLength: 1
in: path
name: action_identifier
required: true
description: The identifier of the action/automation you want to operate on.
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
patch:
summary: Update an action's permissions
tags:
- Actions
description: This route allows you to update the permissions of a self-service
action.
To learn more about action RBAC, check out the [documentation](https://docs.port.io/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/).
requestBody:
content:
application/json:
schema:
type: object
properties:
execute:
type: object
description: An object used to define who can execute the action.
properties:
users:
type: array
items:
type: string
description: The email addresses of the users who can execute
the action.
roles:
type: array
items:
type: string
description: The roles that can execute the action.
teams:
type: array
items:
type: string
description: The names of the teams whose members can execute
the action.
ownedByTeam:
type: boolean
description: Relevant only for [DAY-2/DELETE actions](https://docs.port.io/actions-and-automations/create-self-service-experiences/setup-ui-for-action/#basic-details).
If `true`, any member of the team that the entity belongs
to can execute the action.
policy:
type:
- object
- 'null'
properties:
queries:
type: object
description: One or more queries to fetch data from your
software catalog.
minProperties: 1
additionalProperties:
$ref: '#/components/schemas/def-1'
conditions:
type: array
items:
type: string
minLength: 1
minItems: 1
description: '`JQ` expressions that run against the provided
queries, and resolve to a boolean value (`true` = allowed
to execute).'
required:
- queries
- conditions
additionalProperties: false
description: An optional custom policy the determines if action
execution is allowed.
See instructions and examples [here](https://docs.port.io/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/dynamic-permissions/#instructions).
additionalProperties: false
approve:
type: object
description: An object used to define who can approve the action.
properties:
users:
type: array
items:
type: string
description: The email addresses of the users who can approve
the action.
roles:
type: array
items:
type: string
description: The roles that can approve the action.
teams:
type: array
items:
type: string
description: The names of the teams whose members can approve
the action.
policy:
type:
- object
- 'null'
properties:
queries:
type: object
description: One or more queries to fetch data from your
software catalog.
minProperties: 1
additionalProperties:
$ref: '#/components/schemas/def-1'
conditions:
type: array
items:
type: string
minLength: 1
minItems: 1
description: '`JQ` expressions that run against the provided
queries, and resolve to a boolean value (`true` = allowed
to execute).'
required:
- queries
- conditions
additionalProperties: false
description: An optional custom policy the determines who can
approve the action.
See instructions and examples [here](https://docs.port.io/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/dynamic-permissions/#instructions).
additionalProperties: false
additionalProperties: false
parameters:
- schema:
type: string
minLength: 1
in: path
name: action_identifier
required: true
description: The identifier of the action/automation you want to operate on.
security:
- bearer: []
responses:
'401':
description: Default Response
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
'404':
description: A resource with the provided identifier was not found
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: A resource with the provided identifier was not found
'413':
description: Request body is too large (limit is 1MiB)
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
additionalProperties: false
description: Request body is too large (limit is 1MiB)
'422':
description: The json provided does not match the route's schema
content:
application/json:
schema:
properties:
ok:
const: false
error:
type: string
message:
type: string
required:
- ok
- error
- message
additionalProperties: false
description: The json provided does not match the route's schema