> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-docs-mcp-bridge-private-server.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Submit Action

> SubmitAction handles user actions on A2UI surfaces.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/a2ui/surfaces/{surface_id}/actions
openapi: 3.1.0
info:
  description: The C1 API is a HTTP API for managing C1 resources.
  title: C1 API
  version: 0.1.0-alpha
servers:
  - description: The C1 API server for the current tenant.
    url: https://{tenantDomain}.conductor.one
    variables:
      tenantDomain:
        default: example
        description: The domain of the tenant to use for this request.
security:
  - bearerAuth: []
    oauth: []
paths:
  /api/v1/a2ui/surfaces/{surface_id}/actions:
    post:
      tags:
        - A 2 UI
      summary: Submit Action
      description: SubmitAction handles user actions on A2UI surfaces.
      operationId: c1.api.a2ui.v1.A2UIService.SubmitAction
      parameters:
        - in: path
          name: surface_id
          required: true
          schema:
            description: The surfaceId field.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.a2ui.v1.A2UIServiceSubmitActionRequestInput
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.a2ui.v1.A2UIServiceSubmitActionResponse
          description: A2UIServiceSubmitActionResponse returns the result of an action.
      x-codeSamples:
        - lang: go
          label: SubmitAction
          source: "package main\n\nimport(\n\t\"context\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/shared\"\n\tconductoronesdkgo \"github.com/conductorone/conductorone-sdk-go\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := conductoronesdkgo.New(\n        conductoronesdkgo.WithSecurity(shared.Security{\n            BearerAuth: \"<YOUR_BEARER_TOKEN_HERE>\",\n            Oauth: \"<YOUR_OAUTH_HERE>\",\n        }),\n    )\n\n    res, err := s.A2UI.SubmitAction(ctx, operations.C1APIA2uiV1A2UIServiceSubmitActionRequest{\n        SurfaceID: \"<id>\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.A2UIServiceSubmitActionResponse != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: Typescript (SDK)
          source: >-
            import { ConductoroneSDKTypescript } from
            "conductorone-sdk-typescript";


            const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
              security: {
                bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
                oauth: "<YOUR_OAUTH_HERE>",
              },
            });


            async function run() {
              const result = await conductoroneSDKTypescript.a2Ui.submitAction({
                surfaceId: "<id>",
              });

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.a2ui.v1.A2UIServiceSubmitActionRequestInput:
      description: A2UIServiceSubmitActionRequest submits a user action.
      properties:
        actionName:
          description: The actionName field.
          type:
            - string
            - 'null'
        clientTimestamp:
          format: date-time
          type:
            - string
            - 'null'
        context:
          additionalProperties:
            type: string
          description: The context field.
          type: object
        conversationId:
          description: The conversationId field.
          type:
            - string
            - 'null'
        dataModelJson:
          description: The dataModelJson field.
          type:
            - string
            - 'null'
        sourceComponentId:
          description: The sourceComponentId field.
          type:
            - string
            - 'null'
      title: A 2 Ui Service Submit Action Request
      type: object
      x-speakeasy-name-override: A2UIServiceSubmitActionRequest
    c1.api.a2ui.v1.A2UIServiceSubmitActionResponse:
      description: A2UIServiceSubmitActionResponse returns the result of an action.
      properties:
        accepted:
          description: The accepted field.
          type:
            - boolean
            - 'null'
        errorMessage:
          description: The errorMessage field.
          type:
            - string
            - 'null'
      title: A 2 Ui Service Submit Action Response
      type: object
      x-speakeasy-name-override: A2UIServiceSubmitActionResponse
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    oauth:
      description: >-
        This API uses OAuth2 with the Client Credential flow.

        Client Credentials must be sent in the BODY, not the headers.

        For an example of how to implement this, refer to the
        [c1TokenSource.Token()](https://github.com/ConductorOne/conductorone-sdk-go/blob/3375fe7c0126d17e7ec4e711693dee7b791023aa/token_source.go#L101-L187)
        function.
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /auth/v1/token
      type: oauth2

````