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

# Create Action

> Create Action



## OpenAPI

````yaml /api-reference/openapi.json post /actions
openapi: 3.1.0
info:
  title: Cradl API
  version: '2026-01-28T09:00:46Z'
servers:
  - url: https://api.cradl.ai/{basePath}
    variables:
      basePath:
        default: v1
security: []
paths:
  /actions:
    post:
      parameters:
        - in: header
          name: Content-Type
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostActions'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Action'
          description: 200 response
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: 400 response
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: 403 response
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: 404 response
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '415':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: 415 response
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: 500 response
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - OAuth2:
            - actions:write
components:
  schemas:
    PostActions:
      title: POST /actions
      type: object
      properties:
        metadata:
          type: object
        functionId:
          pattern: ^((cradl|las):organization:[a-z0-9-_]+/)?cradl:function:[a-z0-9-_]+$
          type: string
        name:
          maxLength: 4096
          type: string
          nullable: true
        description:
          maxLength: 4096
          type: string
          nullable: true
        connectionId:
          pattern: ^cradl:connection:[a-f0-9]{32}$
          type: string
          nullable: true
        secretId:
          pattern: ^(cradl|las):secret:[a-f0-9]{32}$
          type: string
          nullable: true
        config:
          type: object
        enabled:
          type: boolean
      additionalProperties: false
    Action:
      title: action
      required:
        - actionId
        - createdBy
        - createdTime
        - description
        - metadata
        - name
        - updatedBy
        - updatedTime
      type: object
      properties:
        updatedTime:
          pattern: >-
            ^[0-9]{4}-?[0-9]{2}-?[0-9]{2}(
            |T)?[0-9]{2}:?[0-9]{2}:?[0-9]{2}(.[0-9]{1,6})?(Z|[+][0-9]{2}(:|)[0-9]{2})$
          type: string
          nullable: true
        agentId:
          pattern: ^cradl:agent:[a-f0-9]{32}$
          type: string
          nullable: true
        metadata:
          type: object
          nullable: true
        updatedBy:
          maxLength: 4096
          type: string
          nullable: true
        description:
          maxLength: 4096
          type: string
          nullable: true
        secretId:
          pattern: ^(cradl|las):secret:[a-f0-9]{32}$
          type: string
          nullable: true
        enabled:
          type: boolean
        functionId:
          pattern: ^((cradl|las):organization:[a-z0-9-_]+/)?cradl:function:[a-z0-9-_]+$
          type: string
        createdBy:
          maxLength: 4096
          type: string
        name:
          maxLength: 4096
          type: string
          nullable: true
        actionId:
          pattern: ^cradl:action:[a-f0-9]{32}$
          type: string
        createdTime:
          pattern: >-
            ^[0-9]{4}-?[0-9]{2}-?[0-9]{2}(
            |T)?[0-9]{2}:?[0-9]{2}:?[0-9]{2}(.[0-9]{1,6})?(Z|[+][0-9]{2}(:|)[0-9]{2})$
          type: string
        connectionId:
          pattern: ^cradl:connection:[a-f0-9]{32}$
          type: string
          nullable: true
        id:
          pattern: ^((cradl|las):organization:[a-z0-9-_]+/)?cradl:action:[a-z0-9-_]+$
          type: string
        config:
          type: object
          nullable: true
      additionalProperties: false
    Error:
      title: Error Schema
      type: object
      properties:
        message:
          type: string
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.cradl.ai/oauth2/token
          scopes:
            actions.runs:read: Read permissions
            actions.runs:write: Write permissions
            actions:read: Read permissions
            actions:write: Write permissions
            agents.runs:read: Read permissions
            agents.runs:write: Write permissions
            agents.statistics:read: Read permissions
            agents:read: Read permissions
            agents:write: Write permissions
            appclients:read: Read permissions
            appclients:write: Write permissions
            documents:read: Read permissions
            documents:write: Write permissions
            hooks.runs:read: Read permissions
            hooks.runs:write: Write permissions
            hooks:read: Read permissions
            hooks:write: Write permissions
            logs:read: Read permissions
            models:read: Read permissions
            models:write: Write permissions
            organizations:read: Read permissions
            organizations:write: Write permissions
            predictions:read: Read permissions
            predictions:write: Write permissions
            users:read: Read permissions
            users:write: Write permissions
            validations.tasks:read: Read permissions
            validations.tasks:write: Write permissions
            validations:read: Read permissions
            validations:write: Write permissions
            workflows:read: Read permissions
            workflows:write: Write permissions

````