> ## Documentation Index
> Fetch the complete documentation index at: https://sippet.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Run a public RPC action

> Execute a public org RPC action by sending the action name and payload in the request body.



## OpenAPI

````yaml /api-reference/openapi.json post /rpc/public/run
openapi: 3.1.0
info:
  title: Sippet Public RPC API
  version: 1.0.0
  description: >-
    Sippet's public org API uses an RPC transport. Instead of calling many REST
    resource URLs, clients send an action name and payload to a fixed endpoint.
servers:
  - url: https://api.sippet.ai
    description: Production API
security: []
tags:
  - name: Public RPC
    description: Direct backend HTTP access to Sippet's public org RPC actions.
paths:
  /rpc/public/run:
    post:
      tags:
        - Public RPC
      summary: Run a public RPC action
      description: >-
        Execute a public org RPC action by sending the action name and payload
        in the request body.
      operationId: publicRpcRun
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RpcRequest'
      responses:
        '200':
          description: Action executed successfully or returned a structured RPC error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RpcRunResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    RpcRequest:
      type: object
      required:
        - action
      properties:
        action:
          type: string
          description: >-
            Public RPC action name, for example `list_contacts` or
            `create_call`.
        input:
          $ref: '#/components/schemas/RpcInput'
        identity:
          $ref: '#/components/schemas/RpcIdentity'
        fields:
          type: array
          items:
            $ref: '#/components/schemas/RpcFieldSelection'
        filter:
          type: object
          additionalProperties: true
        sort:
          description: Action-specific sort expression.
          oneOf:
            - type: string
            - type: array
              items:
                type: string
        page:
          $ref: '#/components/schemas/RpcPage'
        metadataFields:
          type: array
          items:
            type: string
      examples:
        list_contacts:
          summary: List contacts
          value:
            action: list_contacts
            fields:
              - id
              - fullName
              - phoneE164
            page:
              limit: 20
        create_contact:
          summary: Create a contact
          value:
            action: create_contact
            input:
              fullName: Ada Lovelace
              phoneE164: '+15555550123'
            fields:
              - id
              - fullName
              - phoneE164
    RpcRunResponse:
      oneOf:
        - $ref: '#/components/schemas/RpcRunSuccessResponse'
        - $ref: '#/components/schemas/RpcErrorResponse'
    RpcInput:
      type: object
      description: Action-specific input object.
      additionalProperties: true
    RpcIdentity:
      type: object
      description: Identity payload for actions that target a specific resource.
      additionalProperties: true
    RpcFieldSelection:
      description: Field names or nested field-selection objects, depending on the action.
      oneOf:
        - type: string
        - type: object
          additionalProperties: true
    RpcPage:
      type: object
      description: Pagination options for list actions.
      additionalProperties: true
    RpcRunSuccessResponse:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
          const: true
        data:
          description: Action-specific success payload.
          oneOf:
            - type: object
              additionalProperties: true
            - type: array
              items:
                type: object
                additionalProperties: true
            - type: string
            - type: number
            - type: boolean
            - type: 'null'
    RpcErrorResponse:
      type: object
      required:
        - success
        - errors
      properties:
        success:
          type: boolean
          const: false
        errors:
          type: array
          items:
            $ref: '#/components/schemas/AshRpcError'
    AshRpcError:
      type: object
      required:
        - type
        - message
        - shortMessage
        - vars
        - fields
        - path
      properties:
        type:
          type: string
        message:
          type: string
        shortMessage:
          type: string
        vars:
          type: object
          additionalProperties: true
        fields:
          type: array
          items:
            type: string
        path:
          type: array
          items:
            type: string
        details:
          type: object
          additionalProperties: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Use a secret org API key. Do not expose this key in browser code.

````