Cubist Policies API

The Policies API from Cubist — 11 operation(s) for policies.

Operations 16

GET /v0/org/{org_id}/policies List Policies #
POST /v0/org/{org_id}/policies Create Policy #
DELETE /v0/org/{org_id}/policies/{policy_id} Delete Policy #
PATCH /v0/org/{org_id}/policies/{policy_id} Update Policy #
POST /v0/org/{org_id}/policies/{policy_id}/logs Get Policy Logs #
GET /v0/org/{org_id}/policies/{policy_id}/{version} Get Policy #
POST /v0/org/{org_id}/policies/{policy_id}/{version}/invoke Invoke Policy #
GET /v0/org/{org_id}/policy/buckets List Buckets #
GET /v0/org/{org_id}/policy/buckets/{bucket_name} Get Bucket #
PATCH /v0/org/{org_id}/policy/buckets/{bucket_name} Update Bucket #
GET /v0/org/{org_id}/policy/import_key Create Policy Import Key #
GET /v0/org/{org_id}/policy/secrets Get the org-wide policy secrets. #
PATCH /v0/org/{org_id}/policy/secrets Update org-level policy secrets #
PUT /v0/org/{org_id}/policy/secrets/{secret_name} Create or overwrite an org-level policy secret. #
DELETE /v0/org/{org_id}/policy/secrets/{secret_name} Delete an org-level policy secret. #
POST /v0/org/{org_id}/policy/wasm Upload Wasm Policy #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cubist-policies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cubist-policies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CubeSigner Account Policies API
  description: The CubeSigner management and signing service.
  contact:
    name: Cubist Inc.
    email: hello@cubist.dev
  version: v0.1.0
servers:
- url: https://gamma.signer.cubist.dev
  description: Testing and staging environment
- url: https://prod.signer.cubist.dev
  description: Production environment
security:
- Cognito: []
tags:
- name: Policies
paths:
  /v0/org/{org_id}/policies:
    get:
      tags:
      - Policies
      summary: List Policies
      description: 'List Policies


        Returns the list of all policies in the Org.'
      operationId: listPolicies
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: page.size
        in: query
        description: 'Max number of items to return per page.


          If the actual number of returned items may be less that this, even if there exist more

          data in the result set. To reliably determine if more data is left in the result set,

          inspect the [UnencryptedLastEvalKey] value in the response object.'
        required: false
        schema:
          type: integer
          format: int32
          default: 100
          maximum: 1001
          minimum: 1
        style: form
      - name: page.start
        in: query
        description: 'The start of the page.  Omit to start from the beginning; otherwise, only specify a

          the exact value previously returned as ''last_evaluated_key'' from the same endpoint.'
        required: false
        schema:
          type:
          - string
          - 'null'
        style: form
      - name: policy_type
        in: query
        description: The optional type of policies to return
        required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/PolicyType'
        style: form
        example: Key
      responses:
        '200':
          $ref: '#/components/responses/PaginatedListPoliciesResponse'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:list
    post:
      tags:
      - Policies
      summary: Create Policy
      description: 'Create Policy


        Creates a new named policy in the organization. The user making the request is the

        owner of the policy, giving them edit access to the policy along with the org owners.'
      operationId: createPolicy
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePolicyRequest'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/PolicyInfo'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:create
  /v0/org/{org_id}/policies/{policy_id}:
    delete:
      tags:
      - Policies
      summary: Delete Policy
      description: 'Delete Policy


        Delete the named policy with the given name or id.'
      operationId: deletePolicy
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: policy_id
        in: path
        description: Name or ID of the desired NamedPolicy
        required: true
        schema:
          type: string
        example: NamedPolicy#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Empty'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/EmptyImpl'
        '202':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptedResponse'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:delete
    patch:
      tags:
      - Policies
      summary: Update Policy
      description: 'Update Policy


        Updates the policy with the given name or id.'
      operationId: updatePolicy
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: policy_id
        in: path
        description: Name or ID of the desired NamedPolicy
        required: true
        schema:
          type: string
        example: NamedPolicy#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePolicyRequest'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/PolicyInfo'
        '202':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptedResponse'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:update
        - manage:policy:update:rule
        - manage:policy:update:owner
        - manage:policy:update:name
        - manage:policy:update:editPolicy
  /v0/org/{org_id}/policies/{policy_id}/logs:
    post:
      tags:
      - Policies
      summary: Get Policy Logs
      description: 'Get Policy Logs


        Returns the logs for the given policy, within the given timeframe.'
      operationId: getPolicyLogs
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: policy_id
        in: path
        description: Name or ID of the desired NamedPolicy
        required: true
        schema:
          type: string
        example: NamedPolicy#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: page.size
        in: query
        description: 'Max number of items to return per page.


          If the actual number of returned items may be less that this, even if there exist more

          data in the result set. To reliably determine if more data is left in the result set,

          inspect the [UnencryptedLastEvalKey] value in the response object.'
        required: false
        schema:
          type: integer
          format: int32
          default: 100
          maximum: 1001
          minimum: 1
        style: form
      - name: page.start
        in: query
        description: 'The start of the page.  Omit to start from the beginning; otherwise, only specify a

          the exact value previously returned as ''last_evaluated_key'' from the same endpoint.'
        required: false
        schema:
          type:
          - string
          - 'null'
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyLogsRequest'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/PaginatedPolicyLogsResponse'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:logs:get
  /v0/org/{org_id}/policies/{policy_id}/{version}:
    get:
      tags:
      - Policies
      summary: Get Policy
      description: 'Get Policy


        Returns the specified version or latest of a named policy with the given name or id.'
      operationId: getPolicy
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: policy_id
        in: path
        description: Name or ID of the desired NamedPolicy
        required: true
        schema:
          type: string
        example: NamedPolicy#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: version
        in: path
        description: The policy version, either 'latest' or 'v<number>'.
        required: true
        schema:
          type: string
        example: latest
      responses:
        '200':
          $ref: '#/components/responses/PolicyInfo'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:get
  /v0/org/{org_id}/policies/{policy_id}/{version}/invoke:
    post:
      tags:
      - Policies
      summary: Invoke Policy
      description: 'Invoke Policy


        Invokes the [NamedPolicy] with the given ID with the given request information.

        It is only supported for Wasm policies.'
      operationId: invokePolicy
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: policy_id
        in: path
        description: Name or ID of the desired NamedPolicy
        required: true
        schema:
          type: string
        example: NamedPolicy#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: version
        in: path
        description: The policy version, either 'latest' or 'v<number>'.
        required: true
        schema:
          type: string
        example: latest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvokePolicyRequest'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/InvokePolicyResponse'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:invoke
  /v0/org/{org_id}/policy/buckets:
    get:
      tags:
      - Policies
      summary: List Buckets
      description: 'List Buckets


        List available meta information about all policy KV store buckets in the org.'
      operationId: listPolicyBuckets
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: page.size
        in: query
        description: 'Max number of items to return per page.


          If the actual number of returned items may be less that this, even if there exist more

          data in the result set. To reliably determine if more data is left in the result set,

          inspect the [UnencryptedLastEvalKey] value in the response object.'
        required: false
        schema:
          type: integer
          format: int32
          default: 100
          maximum: 1001
          minimum: 1
        style: form
      - name: page.start
        in: query
        description: 'The start of the page.  Omit to start from the beginning; otherwise, only specify a

          the exact value previously returned as ''last_evaluated_key'' from the same endpoint.'
        required: false
        schema:
          type:
          - string
          - 'null'
        style: form
      responses:
        '200':
          $ref: '#/components/responses/PaginatedListBucketsResponse'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:buckets:list
  /v0/org/{org_id}/policy/buckets/{bucket_name}:
    get:
      tags:
      - Policies
      summary: Get Bucket
      description: 'Get Bucket


        Returns the meta information of a policy KV store bucket.'
      operationId: getPolicyBucket
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: bucket_name
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/BucketInfo'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:bucket:get
    patch:
      tags:
      - Policies
      summary: Update Bucket
      description: 'Update Bucket


        Updates meta information for an existing policy KV store bucket.'
      operationId: updatePolicyBucket
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: bucket_name
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBucketRequest'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/BucketInfo'
        '202':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptedResponse'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:bucket:update:acl
        - manage:policy:bucket:update:metadata
  /v0/org/{org_id}/policy/import_key:
    get:
      tags:
      - Policies
      summary: Create Policy Import Key
      description: 'Create Policy Import Key


        Generate an ephemeral key that a client can use for encrypting data related to Wasm

        policies (e.g., policy secrets).'
      operationId: createPolicyImportKey
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      responses:
        '200':
          $ref: '#/components/responses/CreatePolicyImportKeyResponse'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:createImportKey
  /v0/org/{org_id}/policy/secrets:
    get:
      tags:
      - Policies
      summary: Get the org-wide policy secrets.
      description: 'Get the org-wide policy secrets.


        Note that this only returns the keys for the secrets, omitting the values.

        The values are secret and are not accessible outside Wasm policy execution.'
      operationId: getPolicySecrets
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      responses:
        '200':
          $ref: '#/components/responses/PolicySecretsInfo'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:secrets:get
    patch:
      tags:
      - Policies
      summary: Update org-level policy secrets
      description: 'Update org-level policy secrets


        The provided secrets will replace any existing org-level secrets.

        It fails if the secrets weren''t previously created.


        Must be permitted by the policy secret''s edit policy if set, and the org''s edit policy otherwise.'
      operationId: updatePolicySecrets
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePolicySecretsRequest'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/PolicySecretsInfo'
        '202':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptedResponse'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:secrets:update
        - manage:policy:secrets:update:values
        - manage:policy:secrets:update:editPolicy
  /v0/org/{org_id}/policy/secrets/{secret_name}:
    put:
      tags:
      - Policies
      summary: Create or overwrite an org-level policy secret.
      description: 'Create or overwrite an org-level policy secret.

        Must be permitted by the policy secret''s edit policy if set, and the org''s edit policy otherwise.'
      operationId: setPolicySecret
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: secret_name
        in: path
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetPolicySecretRequest'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/PolicySecretsInfo'
        '202':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptedResponse'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:secrets:update:values
    delete:
      tags:
      - Policies
      summary: Delete an org-level policy secret.
      description: 'Delete an org-level policy secret.

        Must be permitted by the policy secret''s edit policy if set, and the org''s edit policy otherwise.'
      operationId: deletePolicySecret
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      - name: secret_name
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Empty'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/PolicySecretsInfo'
        '202':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptedResponse'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:secrets:update:values
  /v0/org/{org_id}/policy/wasm:
    post:
      tags:
      - Policies
      summary: Upload Wasm Policy
      description: 'Upload Wasm Policy


        Returns a signed URL for uploading a wasm policy to CubeSigner. The policy will be

        deleted if not attached to a [NamedPolicy] soon after the upload has been completed.'
      operationId: uploadWasmPolicy
      parameters:
      - name: org_id
        in: path
        description: Name or ID of the desired Org
        required: true
        schema:
          type: string
        example: Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadWasmPolicyRequest'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/UploadWasmPolicyResponse'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - SignerAuth:
        - manage:policy:wasm:upload
components:
  schemas:
    BucketInfo:
      allOf:
      - allOf:
        - type: object
          description: 'Versioning fields (e.g., version number, creation time, and last modified times)

            that are common to different types of resources.'
          properties:
            created:
              allOf:
              - $ref: '#/components/schemas/EpochDateTime'
            last_modified:
              allOf:
              - $ref: '#/components/schemas/EpochDateTime'
            version:
              type: integer
              format: int64
              description: Version of this object
              minimum: 0
        - type: object
          required:
          - owner
          - org_id
          properties:
            acl:
              type:
              - array
              - 'null'
              items: {}
              description: The access-control entries for the bucket.
            metadata:
              description: Arbitrary user-defined metadata.
            org_id:
              $ref: '#/components/schemas/Id'
            owner:
              $ref: '#/components/schemas/Id'
        description: 'Sub-entity of org where per-bucket metadata (like ACL) is stored.

          The [Id] of a [BucketMeta] must be the bucket name.'
      - type: object
        required:
        - name
        properties:
          name:
            type: string
            description: The name of the bucket.
      description: Information about a policy KV store bucket.
    Empty:
      default: null
    PreconditionErrorOwnCodes:
      type: string
      enum:
      - FailOnMfaRequired
      - KeyRegionLocked
      - KeyRegionChangedRecently
      - MfaRegionLocked
      - Eth2ProposerSlotTooLow
      - Eth2AttestationSourceEpochTooLow
      - Eth2AttestationTargetEpochTooLow
      - Eth2ConcurrentBlockSigning
      - Eth2ConcurrentAttestationSigning
      - Eth2MultiDepositToNonGeneratedKey
      - Eth2MultiDepositUnknownInitialDeposit
      - Eth2MultiDepositWithdrawalAddressMismatch
      - ConcurrentSigningWhenTimeLimitPolicyIsDefined
      - BabylonEotsConcurrentSigning
      - TendermintStateError
      - TendermintConcurrentSigning
      - MfaApprovalsNotYetValid
    WasmPolicyResponse:
      oneOf:
      - type: object
        required:
        - response
        properties:
          response:
            type: string
            enum:
            - Allow
      - type: object
        description: The policy denied signing the transaction.
        required:
        - reason
        - response
        properties:
          reason:
            type: string
            description: The reason for the denial.
          response:
            type: string
            enum:
            - Deny
      - type: object
        description: The policy failed to execute successfully, and exited with an error.
        required:
        - error
        - response
        properties:
          error:
            type: string
            description: The error from the Policy Engine.
          response:
            type: string
            enum:
            - Error
      description: The response from invoking a Wasm policy.
      discriminator:
        propertyName: response
    EditPolicy:
      type: object
      description: 'A policy which governs when and who is allowed to update the entity this policy is

        attached to (e.g., a role or a key).


        When attached to a role, by default, this policy applies to role deletion and all

        role updates (including adding/removing keys and users); in terms of scopes,

        it applies to `manage:role:update:*` and `manage:role:delete`.


        When attached to a key, by default, this policy applies to key deletion, all

        key updates, and adding/removing that key to/from a role; in terms of scopes,

        it applies to `manage:key:update:*`, `manage:key:delete`, `manage:role:update:key:*`.


        This default can be changed by setting the `applies_to_scopes` property.'
      properties:
        applies_to_scopes:
          $ref: '#/components/schemas/ScopeSet'
        mfa:
          allOf:
          - $ref: '#/components/schemas/MfaPolicy'
        time_lock_until:
          allOf:
          - $ref: '#/components/schemas/EpochDateTime'
    BadRequestErrorCode:
      type: string
      enum:
      - GenericBadRequest
      - DisallowedAllowRuleReference
      - InvalidPaginationToken
      - InvalidEmail
      - InvalidEmailTemplate
      - QueryMetricsError
      - InvalidTelegramData
      - ValidationError
      - WebhookPolicyTimeoutOutOfBounds
      - WebhookPolicyDisallowedUrlScheme
      - WebhookPolicyDisallowedUrlHost
      - WebhookPolicyDisallowedHeaders
      - ReservedName
      - UserEmailNotConfigured
      - EmailPasswordNotFound
      - PasswordAuthNotAllowedByInvitation
      - OneTimeCodeExpired
      - InvalidBody
      - InvalidJwt
      - InvitationNoLongerValid
      - TokenRequestError
      - InvalidMfaReceipt
      - InvalidMfaPolicyCount
      - InvalidMfaPolicyNumAuthFactors
      - InvalidMfaPolicyNumAllowedApprovers
      - InvalidMfaPolicyGracePeriodTooLong
      - InvalidBabylonStakingPolicyParams
      - InvalidSuiTxReceiversEmptyAllowlist
      - InvalidBtcTxReceiversEmptyAllowlist
      - InvalidRequireRoleSessionAllowlist
      - InvalidCreateKeyCount
      - InvalidDiffieHellmanCount
      - OrgInviteExistingUser
      - OrgUserAlreadyExists
      - OrgNameTaken
      - KwkNotFoundInRegion
      - OrgIsNotOrgExport
      - RoleNameTaken
      - PolicyNameTaken
      - NameTaken
      - ContactNameInvalid
      - ContactAddressesInvalid
      - ContactLabelInvalid
      - ContactModified
      - PolicyNotFound
      - PolicyVersionNotFound
      - PolicyRuleDisallowedByType
      - PolicyTypeDisallowed
      - PolicyDuplicateError
      - PolicyStillAttached
      - PolicyModified
      - PolicyNotAttached
      - AddKeyToRoleCountTooHigh
      - InvalidKeyId
      - InvalidTimeLockAlreadyInThePast
      - InvalidRestrictedScopes
      - InvalidUpdate
      - InvalidMetadataLength
      - InvalidLength
      - InvalidKeyMaterialId
      - KeyNotFound
      - SiweChallengeNotFound
      - SiweInvalidRequest
      - SiwsChallengeNotFound
      - SiwsInvalidRequest
      - UserExportDerivedKey
      - UserExportPublicKeyInvalid
      - NistP256PublicKeyInvalid
      - UnableToAccessSmtpRelay
      - UserExportInProgress
      - RoleNotFound
      - InvalidRoleNameOrId
      - InvalidMfaReceiptOrgIdMissing
      - InvalidMfaReceiptInvalidOrgId
      - MfaRequestNotFound
      - InvalidKeyType
      - InvalidPropertiesForKeyType
      - MismatchedKeyPropertiesPatch
      - MissingBinanceApiKey
      - MissingBybitApiKey
      - MissingCoinbaseApiKey
      - BinanceKeyMasterMismatch
      - BybitAccountMismatch
      - InvalidKeyMaterial
      - InvalidHexValue
      - InvalidBase32Value
      - InvalidBase58Value
      - InvalidBase64Value
      - InvalidSs58Value
      - InvalidForkVersionLength
      - InvalidEthAddress
      - InvalidStellarAddress
      - InvalidOrgNameOrId
      - InvalidUpdateOrgRequestDisallowedMfaType
      - InvalidUpdateOrgRequestEmptyAllowedMfaTypes
      - EmailOtpDelayTooShortForRegisterMfa
      - InvalidStakeDeposit
      - InvalidBlobSignRequest
      - InvalidDiffieHellmanRequest
      - InvalidSolanaSignRequest
      - InvalidEip712SignRequest
      - InvalidEip7702SignRequest
      - OnlySpecifyOne
      - IncompatibleParams
      - NoOidcDataInProof
      - InvalidEvmSignRequest
      - InvalidEth2SignRequest
      - InvalidDeriveKeyRequest
      - InvalidStakingAmount
      - CustomStakingAmountNotAllowedForWrapperContract
      - InvalidUnstakeRequest
      - InvalidCreateUserRequest
      - UserAlreadyExists
      - IdpUserAlreadyExists
      - CognitoUserAlreadyOrgMember
      - UserNotFound
      - UserWithEmailNotFound
      - PolicyKeyMismatch
      - EmptyScopes
      - InvalidScopesForRoleSession
      - InvalidLifetime
      - NoSingleKeyForUser
      - InvalidOrgPolicyRule
      - SourceIpAllowlistEmpty
      - LimitWindowTooLong
      - Erc20ContractDisallowed
      - EmptyRuleError
      - PolicyFieldValidationError
      - OptionalListEmpty
      - MultipleExclusiveFieldsProvided
      - DuplicateFieldEntry
      - InvalidRange
      - InvalidOrgPolicyRepeatedRule
      - InvalidSuiTransaction
      - SuiSenderMismatch
      - AvaSignHashError
      - AvaSignError
      - BtcSegwitHashError
      - BtcTaprootHashError
      - BtcSignError
      - TaprootSignError
      - Eip712SignError
      - InvalidMemberRoleInUserAdd
      - InvalidMemberRoleInRecipientAdd
      - ThirdPartyUserAlreadyExists
      - OidcIdentityAlreadyExists
      - UserAlreadyHasIdentity
      - ThirdPartyUserNotFound
      - DeleteOidcUserError
      - DeleteUserError
      - SessionRoleMismatch
      - InvalidOidcToken
      - InvalidOidcIdentity
      - OidcIssuerUnsupported
      - OidcIssuerNotAllowed
      - OidcIssuerNoApplicableJwk
      - FidoKeyAlreadyRegistered
      - FidoKeySignCountTooLow
      - FidoVerificationFailed
      - FidoChallengeMfaMismatch
      - UnsupportedLegacyCognitoSession
      - InvalidIdentityProof
      - PaginationDataExpired
      - ExistingKeysViolateExclusiveKeyAccess
      - ExportDelayTooShort
      - ExportWindowTooLong
      - InvalidTotpFailureLimit
      - InvalidEip191SignRequest
      - CannotResendUserInvitation
      - InvalidNotificationEndpointCount
      - CannotDeletePendingSubscription
      - InvalidNotificationUrlProtocol
      - EmptyOneOfOrgEventFilter
      - EmptyAllExceptOrgEventFilter
      - InvalidTapNodeHash
      - InvalidOneTimeCode
      - MessageNotFound
      - MessageAlreadySigned
      - MessageRejected
      - MessageReplaced
      - InvalidMessageType
      - EmptyAddress
      - InvalidEth2SigningPolicySlotRange
      - InvalidEth2SigningPolicyEpochRange
      - InvalidEth2SigningPolicyTimestampRange
      - InvalidEth2SigningPolicyOverlappingRule
      - RpcUrlMissing
      - MmiChainIdMissing
      - EthersInvalidRpcUrl
      - EthersGetTransactionCountError
      - InvalidPassword
      - BabylonStakingFeePlusDustOverflow
      - BabylonStaking
      - BabylonStakingIncorrectKey
      - BabylonStakingSegwitNonDeposit
      - BabylonStakingRegistrationRequiresTaproot
      - PsbtSigning
      - TooManyResets
      - TooManyRequests
      - TooManyFailedLogins
      - BadBtcMessageSignP2shFlag
      - InvalidTendermintRequest
      - PolicyVersionMaxReached
      - PolicyVers

# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cubist/refs/heads/main/openapi/cubist-policies-api-openapi.yml