Blockstream Enterprise
ReferenceAPI ReferencePolicies

Create Resource Action Policies

Create Resource Action Policies.

Request

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

Prop

Type

Response

PoliciesCreateResourceActionResponse_success
interface PoliciesCreateResourceActionResponse_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

PoliciesCreateResourceActionResponse_pending
interface PoliciesCreateResourceActionResponse_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

PoliciesCreateResourceActionResponse_failed | unauthorized | rejected
interface PoliciesCreateResourceActionResponse_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.createResourceAction
>(
  {
    action: 'add',
    resource: '/policies/resource/{action}/{resource}',
    details: {
      // TODO: fill in required fields
    },
  },
  blockstream,
)

On this page