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

# Create Function

> Invokes the c1.api.functions.v1.FunctionsService.CreateFunction method.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/functions
openapi: 3.1.0
info:
  description: The ConductorOne API is a HTTP API for managing ConductorOne resources.
  title: ConductorOne API
  version: 0.1.0-alpha
servers:
  - description: The ConductorOne 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/functions:
    post:
      tags:
        - Function
      summary: Create Function
      description: Invokes the c1.api.functions.v1.FunctionsService.CreateFunction method.
      operationId: c1.api.functions.v1.FunctionsService.CreateFunction
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.functions.v1.FunctionsServiceCreateFunctionRequest
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.functions.v1.FunctionsServiceCreateFunctionResponse
          description: Successful response
      x-codeSamples:
        - lang: go
          label: CreateFunction
          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\"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.Functions.CreateFunction(ctx, nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.FunctionsServiceCreateFunctionResponse != 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.functions.createFunction();

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.functions.v1.FunctionsServiceCreateFunctionRequest:
      description: The FunctionsServiceCreateFunctionRequest message.
      properties:
        commitMessage:
          description: The commitMessage field.
          readOnly: false
          type: string
        description:
          description: The description field.
          readOnly: false
          type: string
        displayName:
          description: The displayName field.
          readOnly: false
          type: string
        functionType:
          description: The functionType field.
          enum:
            - FUNCTION_TYPE_UNSPECIFIED
            - FUNCTION_TYPE_ANY
          readOnly: false
          type: string
          x-speakeasy-unknown-values: allow
        initialContent:
          additionalProperties:
            format: base64
            type: string
          description: The initialContent field.
          readOnly: false
          type: object
      title: Functions Service Create Function Request
      type: object
      x-speakeasy-name-override: FunctionsServiceCreateFunctionRequest
    c1.api.functions.v1.FunctionsServiceCreateFunctionResponse:
      description: The FunctionsServiceCreateFunctionResponse message.
      properties:
        commit:
          $ref: '#/components/schemas/c1.api.functions.v1.FunctionCommit'
        function:
          $ref: '#/components/schemas/c1.api.functions.v1.Function'
      title: Functions Service Create Function Response
      type: object
      x-speakeasy-name-override: FunctionsServiceCreateFunctionResponse
    c1.api.functions.v1.FunctionCommit:
      description: FunctionCommit represents a single commit in a function's history
      properties:
        author:
          description: The author field.
          readOnly: false
          type: string
        createdAt:
          format: date-time
          readOnly: false
          type: string
        functionId:
          description: The functionId field.
          readOnly: false
          type: string
        id:
          description: The id field.
          readOnly: false
          type: string
        message:
          description: The message field.
          readOnly: false
          type: string
      title: Function Commit
      type: object
      x-speakeasy-name-override: FunctionCommit
    c1.api.functions.v1.Function:
      description: Function represents a customer-provided code extension in the API
      properties:
        createdAt:
          format: date-time
          readOnly: true
          type: string
        deletedAt:
          format: date-time
          readOnly: true
          type: string
        description:
          description: The description field.
          readOnly: false
          type: string
        displayName:
          description: The displayName field.
          readOnly: false
          type: string
        encryptedValues:
          additionalProperties:
            type: string
          description: The encryptedValues field.
          readOnly: false
          type: object
        functionType:
          description: The functionType field.
          enum:
            - FUNCTION_TYPE_UNSPECIFIED
            - FUNCTION_TYPE_ANY
          readOnly: false
          type: string
          x-speakeasy-unknown-values: allow
        head:
          description: The head field.
          readOnly: false
          type: string
        id:
          description: The id field.
          readOnly: false
          type: string
        isDraft:
          description: The isDraft field.
          readOnly: false
          type: boolean
        outboundNetworkAllowlist:
          description: The outboundNetworkAllowlist field.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        publishedCommitId:
          description: The publishedCommitId field.
          readOnly: false
          type: string
        scopedRoleIds:
          description: >-
            Scoped role IDs define the permissions granted to this function when
            calling
             ConductorOne APIs. These are role IDs (not service roles) that get resolved
             to their service roles at authentication time.

             Currently only the "Read-Only Administrator" role (system:viewer) is supported.
             The role ID can be obtained from the roles API.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        updatedAt:
          format: date-time
          readOnly: true
          type: string
      title: Function
      type: object
      x-speakeasy-entity: Function
      x-speakeasy-name-override: Function
  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

````