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

# Run an action on an object

> Runs a named action on one object. `GET /types/{type_name}` lists the actions of a type, with a `params_schema` for each. A call with an API key counts as an agent call. The server refuses an action that can reach a buyer unless a person starts it. An API key needs the `ontology:write` scope for this call. Keys that you create in the Doris app have `ontology:read` and `events:read` only, so they get `403`. Rate limit: 60 requests per minute for each workspace.



## OpenAPI

````yaml /openapi.json post /{type_name}/{object_id}/actions/{action_name}
openapi: 3.1.0
info:
  title: Doris Ontology API
  version: 1.0.0
  description: >-
    The REST API of the Doris ontology. Use it to read deals, accounts, people,
    meetings, commitments and the other types in your workspace. All routes
    share one quota of 10,000 requests a day for each workspace. The MCP server
    uses the same quota. When the quota is used up, the API returns `429
    quota_exceeded`.
servers:
  - url: https://server.meetdoris.com/api/v1/ontology
    description: Ontology API
security:
  - BearerAuth: []
tags:
  - name: Schema
    description: Types and the OpenAPI document.
  - name: Query
    description: Search, list and aggregate.
  - name: Resolve
    description: Read objects by ID.
  - name: Graph
    description: Follow links between objects.
  - name: Deals
    description: Deal-only reads.
  - name: Write
    description: Field writes and actions.
paths:
  /{type_name}/{object_id}/actions/{action_name}:
    post:
      tags:
        - Write
      summary: Run an action on an object
      description: >-
        Runs a named action on one object. `GET /types/{type_name}` lists the
        actions of a type, with a `params_schema` for each. A call with an API
        key counts as an agent call. The server refuses an action that can reach
        a buyer unless a person starts it. An API key needs the `ontology:write`
        scope for this call. Keys that you create in the Doris app have
        `ontology:read` and `events:read` only, so they get `403`. Rate limit:
        60 requests per minute for each workspace.
      operationId: runAction
      parameters:
        - name: type_name
          in: path
          required: true
          schema:
            type: string
            example: deal
          description: >-
            The object type, for example `deal`, `account`, `person`, `meeting`
            or `commitment`. Call `GET /types` to see the types in your
            workspace.
        - name: object_id
          in: path
          required: true
          schema:
            type: string
          description: The object ID.
        - name: action_name
          in: path
          required: true
          schema:
            type: string
          description: The action name, for example `complete` on `commitment`.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              reason: The buyer confirmed receipt by email.
      responses:
        '200':
          description: The action succeeded. The shape depends on the action.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: >-
            `invalid_request`: an unknown action, or parameters that do not
            match `params_schema`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            The key does not have `ontology:write`, or the server refused the
            action (`forbidden`). An action that can reach a buyer gets
            `forbidden`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: '`not_found` or `unknown_type`.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: '`conflict`.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: '`cooldown`.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        A Doris API key that starts with `sk-live-`. A workspace admin creates
        keys in Settings > Workspace > Developer. A key works only on
        `/api/v1/ontology/` routes.

````