PostHog · Capability

PostHog API — actions

PostHog API — actions. 16 operations. Lead operation: actions. Self-contained Naftiko capability covering one Posthog business surface.

Run with Naftiko Posthogactions

What You Can Do

GET
Actionslist — actionslist
/v1/api/projects/{project-id}/actions
GET
Actionslist — actionslist
/v1/api/projects/{project-id}/actions
POST
Actionscreate — actionscreate
/v1/api/projects/{project-id}/actions
POST
Actionscreate — actionscreate
/v1/api/projects/{project-id}/actions
POST
Actionsbulkupdatetagscreate — Bulk update tags on multiple objects.
/v1/api/projects/{project-id}/actions/bulk-update-tags
POST
Actionsbulkupdatetagscreate — Bulk update tags on multiple objects.
/v1/api/projects/{project-id}/actions/bulk-update-tags
GET
Actionsretrieve — actionsretrieve
/v1/api/projects/{project-id}/actions/{id}
GET
Actionsretrieve — actionsretrieve
/v1/api/projects/{project-id}/actions/{id}
PUT
Actionsupdate — actionsupdate
/v1/api/projects/{project-id}/actions/{id}
PUT
Actionsupdate — actionsupdate
/v1/api/projects/{project-id}/actions/{id}
PATCH
Actionspartialupdate — actionspartialupdate
/v1/api/projects/{project-id}/actions/{id}
PATCH
Actionspartialupdate — actionspartialupdate
/v1/api/projects/{project-id}/actions/{id}
DELETE
Actionsdestroy — Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
/v1/api/projects/{project-id}/actions/{id}
DELETE
Actionsdestroy — Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
/v1/api/projects/{project-id}/actions/{id}
GET
Actionsreferenceslist — actionsreferenceslist
/v1/api/projects/{project-id}/actions/{id}/references
GET
Actionsreferenceslist — actionsreferenceslist
/v1/api/projects/{project-id}/actions/{id}/references

MCP Tools

actionslist

actionslist

read-only idempotent
actionslist-2

actionslist

read-only idempotent
actionscreate

actionscreate

actionscreate-2

actionscreate

bulk-update-tags-multiple-objects

Bulk update tags on multiple objects.

bulk-update-tags-multiple-objects-2

Bulk update tags on multiple objects.

actionsretrieve

actionsretrieve

read-only idempotent
actionsretrieve-2

actionsretrieve

read-only idempotent
actionsupdate

actionsupdate

idempotent
actionsupdate-2

actionsupdate

idempotent
actionspartialupdate

actionspartialupdate

idempotent
actionspartialupdate-2

actionspartialupdate

idempotent
hard-delete-this-model-is

Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true

idempotent
hard-delete-this-model-is-2

Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true

idempotent
actionsreferenceslist

actionsreferenceslist

read-only idempotent
actionsreferenceslist-2

actionsreferenceslist

read-only idempotent

Capability Spec

posthog-actions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PostHog API — actions
  description: 'PostHog API — actions. 16 operations. Lead operation: actions. Self-contained Naftiko capability covering
    one Posthog business surface.'
  tags:
  - Posthog
  - actions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    POSTHOG_API_KEY: POSTHOG_API_KEY
capability:
  consumes:
  - type: http
    namespace: posthog-actions
    baseUri: ''
    description: PostHog API — actions business capability. Self-contained, no shared references.
    resources:
    - name: api-projects-project_id-actions
      path: /api/projects/{project_id}/actions/
      operations:
      - name: actionslist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: limit
          in: query
          type: integer
          description: Number of results to return per page.
        - name: offset
          in: query
          type: integer
          description: The initial index from which to return the results.
      - name: actionslist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: limit
          in: query
          type: integer
          description: Number of results to return per page.
        - name: offset
          in: query
          type: integer
          description: The initial index from which to return the results.
      - name: actionscreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: actionscreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-projects-project_id-actions-bulk_update_tags
      path: /api/projects/{project_id}/actions/bulk_update_tags/
      operations:
      - name: actionsbulkupdatetagscreate
        method: POST
        description: Bulk update tags on multiple objects.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: actionsbulkupdatetagscreate
        method: POST
        description: Bulk update tags on multiple objects.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-projects-project_id-actions-id
      path: /api/projects/{project_id}/actions/{id}/
      operations:
      - name: actionsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: id
          in: path
          type: integer
          description: A unique integer value identifying this action.
          required: true
      - name: actionsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: id
          in: path
          type: integer
          description: A unique integer value identifying this action.
          required: true
      - name: actionsupdate
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: id
          in: path
          type: integer
          description: A unique integer value identifying this action.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: actionsupdate
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: id
          in: path
          type: integer
          description: A unique integer value identifying this action.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: actionspartialupdate
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: id
          in: path
          type: integer
          description: A unique integer value identifying this action.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: actionspartialupdate
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: id
          in: path
          type: integer
          description: A unique integer value identifying this action.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: actionsdestroy
        method: DELETE
        description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: id
          in: path
          type: integer
          description: A unique integer value identifying this action.
          required: true
      - name: actionsdestroy
        method: DELETE
        description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: id
          in: path
          type: integer
          description: A unique integer value identifying this action.
          required: true
    - name: api-projects-project_id-actions-id-references
      path: /api/projects/{project_id}/actions/{id}/references/
      operations:
      - name: actionsreferenceslist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: id
          in: path
          type: integer
          description: A unique integer value identifying this action.
          required: true
      - name: actionsreferenceslist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: format
          in: query
          type: string
        - name: id
          in: path
          type: integer
          description: A unique integer value identifying this action.
          required: true
    authentication:
      type: bearer
      token: '{{env.POSTHOG_API_KEY}}'
  exposes:
  - type: rest
    namespace: posthog-actions-rest
    port: 8080
    description: REST adapter for PostHog API — actions. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/projects/{project-id}/actions
      name: api-projects-project-id-actions
      description: REST surface for api-projects-project_id-actions.
      operations:
      - method: GET
        name: actionslist
        description: actionslist
        call: posthog-actions.actionslist
        with:
          format: rest.format
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: actionslist
        description: actionslist
        call: posthog-actions.actionslist
        with:
          format: rest.format
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: actionscreate
        description: actionscreate
        call: posthog-actions.actionscreate
        with:
          format: rest.format
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: actionscreate
        description: actionscreate
        call: posthog-actions.actionscreate
        with:
          format: rest.format
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/projects/{project-id}/actions/bulk-update-tags
      name: api-projects-project-id-actions-bulk-update-tags
      description: REST surface for api-projects-project_id-actions-bulk_update_tags.
      operations:
      - method: POST
        name: actionsbulkupdatetagscreate
        description: Bulk update tags on multiple objects.
        call: posthog-actions.actionsbulkupdatetagscreate
        with:
          format: rest.format
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: actionsbulkupdatetagscreate
        description: Bulk update tags on multiple objects.
        call: posthog-actions.actionsbulkupdatetagscreate
        with:
          format: rest.format
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/projects/{project-id}/actions/{id}
      name: api-projects-project-id-actions-id
      description: REST surface for api-projects-project_id-actions-id.
      operations:
      - method: GET
        name: actionsretrieve
        description: actionsretrieve
        call: posthog-actions.actionsretrieve
        with:
          format: rest.format
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: actionsretrieve
        description: actionsretrieve
        call: posthog-actions.actionsretrieve
        with:
          format: rest.format
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: actionsupdate
        description: actionsupdate
        call: posthog-actions.actionsupdate
        with:
          format: rest.format
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: actionsupdate
        description: actionsupdate
        call: posthog-actions.actionsupdate
        with:
          format: rest.format
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: actionspartialupdate
        description: actionspartialupdate
        call: posthog-actions.actionspartialupdate
        with:
          format: rest.format
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: actionspartialupdate
        description: actionspartialupdate
        call: posthog-actions.actionspartialupdate
        with:
          format: rest.format
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: actionsdestroy
        description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
        call: posthog-actions.actionsdestroy
        with:
          format: rest.format
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: actionsdestroy
        description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
        call: posthog-actions.actionsdestroy
        with:
          format: rest.format
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/projects/{project-id}/actions/{id}/references
      name: api-projects-project-id-actions-id-references
      description: REST surface for api-projects-project_id-actions-id-references.
      operations:
      - method: GET
        name: actionsreferenceslist
        description: actionsreferenceslist
        call: posthog-actions.actionsreferenceslist
        with:
          format: rest.format
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: actionsreferenceslist
        description: actionsreferenceslist
        call: posthog-actions.actionsreferenceslist
        with:
          format: rest.format
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: posthog-actions-mcp
    port: 9090
    transport: http
    description: MCP adapter for PostHog API — actions. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: actionslist
      description: actionslist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-actions.actionslist
      with:
        format: tools.format
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: actionslist-2
      description: actionslist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-actions.actionslist
      with:
        format: tools.format
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: actionscreate
      description: actionscreate
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: posthog-actions.actionscreate
      with:
        format: tools.format
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: actionscreate-2
      description: actionscreate
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: posthog-actions.actionscreate
      with:
        format: tools.format
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: bulk-update-tags-multiple-objects
      description: Bulk update tags on multiple objects.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: posthog-actions.actionsbulkupdatetagscreate
      with:
        format: tools.format
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: bulk-update-tags-multiple-objects-2
      description: Bulk update tags on multiple objects.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: posthog-actions.actionsbulkupdatetagscreate
      with:
        format: tools.format
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: actionsretrieve
      description: actionsretrieve
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-actions.actionsretrieve
      with:
        format: tools.format
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: actionsretrieve-2
      description: actionsretrieve
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-actions.actionsretrieve
      with:
        format: tools.format
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: actionsupdate
      description: actionsupdate
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: posthog-actions.actionsupdate
      with:
        format: tools.format
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: actionsupdate-2
      description: actionsupdate
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: posthog-actions.actionsupdate
      with:
        format: tools.format
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: actionspartialupdate
      description: actionspartialupdate
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: posthog-actions.actionspartialupdate
      with:
        format: tools.format
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: actionspartialupdate-2
      description: actionspartialupdate
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: posthog-actions.actionspartialupdate
      with:
        format: tools.format
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hard-delete-this-model-is
      description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: posthog-actions.actionsdestroy
      with:
        format: tools.format
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: hard-delete-this-model-is-2
      description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: posthog-actions.actionsdestroy
      with:
        format: tools.format
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: actionsreferenceslist
      description: actionsreferenceslist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-actions.actionsreferenceslist
      with:
        format: tools.format
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: actionsreferenceslist-2
      description: actionsreferenceslist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-actions.actionsreferenceslist
      with:
        format: tools.format
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.