> ## Documentation Index
> Fetch the complete documentation index at: https://www.c1.ai/docs/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.
            readOnly: false
            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.
          readOnly: false
          type: string
        clientTimestamp:
          format: date-time
          readOnly: false
          type: string
        context:
          additionalProperties:
            type: string
          description: The context field.
          readOnly: false
          type: object
        conversationId:
          description: The conversationId field.
          readOnly: false
          type: string
        dataModelJson:
          description: The dataModelJson field.
          readOnly: false
          type: string
        sourceComponentId:
          description: The sourceComponentId field.
          readOnly: false
          type: string
      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.
          readOnly: false
          type: boolean
        errorMessage:
          description: The errorMessage field.
          readOnly: false
          type: string
      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

````