Blockstream Enterprise
ReferenceAPI ReferencePolicies

Create Policies

Create Policies.

Request

PoliciesCreateRequest
interface PoliciesCreateRequest {
  action: 'add'
  resource: '/policies'
  details: {
    plid: string
    name: string
    description: string
    resource: string
    action: string
    priority: number
    expression: string
    decision_on_true: 'ALLOW' | 'DENY' | 'REVIEW'
    review_expression: string | undefined
  }
}

Prop

Type

Response

PoliciesCreateResponse_success
interface PoliciesCreateResponse_success {
  status: 'success'
  error_code?: '-1' | '-2' | '-3' | '-4' | '-5' | '-6' | '-7' | '-8' | '-9' | '-10' | '-11' | '-12' | '-13' | undefined
  message?: string | undefined
  details: {
    plid: string
    name: string
    description: string | undefined
    resource: string
    action: string
    priority: number
    expression: string
    decision_on_true: 'ALLOW' | 'DENY' | 'REVIEW'
    review_expression: string | undefined
    created_at: string
    updated_at: string
    created_by: string
    updated_by: string
    status: 'success' | 'pending' | 'failed' | 'unauthorized' | 'rejected'
  }
  metadata: unknown
}

Prop

Type

PoliciesCreateResponse_pending
interface PoliciesCreateResponse_pending {
  status: 'pending'
  error_code?: '-1' | '-2' | '-3' | '-4' | '-5' | '-6' | '-7' | '-8' | '-9' | '-10' | '-11' | '-12' | '-13' | undefined
  message?: string | undefined
  details: {
    proposal_id: string
  }
}

Prop

Type

PoliciesCreateResponse_failed | unauthorized | rejected
interface PoliciesCreateResponse_failed | unauthorized | rejected {
  status: 'failed' | 'unauthorized' | 'rejected'
  error_code?: '-1' | '-2' | '-3' | '-4' | '-5' | '-6' | '-7' | '-8' | '-9' | '-10' | '-11' | '-12' | '-13' | undefined
  message?: string | undefined
}

Prop

Type

Example

Example
import { resourceSchema } from '@blockstream/ecs-js-sdk'
import { broadcastRequest } from './broadcaster'

const response = await broadcastRequest<
  typeof resourceSchema.shape.policies.shape.create
>(
  {
    action: 'add',
    resource: '/policies',
    details: {
      // TODO: fill in required fields
    },
  },
  blockstream,
)

On this page