> ## 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.

# Get Function Secret Encryption Key

> GetFunctionSecretEncryptionKey retrieves or generates the public key for encrypting function secrets



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples get /api/v1/functions/{function_id}/secret-encryption-key
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/{function_id}/secret-encryption-key:
    get:
      tags:
        - Function
      summary: Get Function Secret Encryption Key
      description: >-
        GetFunctionSecretEncryptionKey retrieves or generates the public key for
        encrypting function secrets
      operationId: c1.api.functions.v1.FunctionsService.GetFunctionSecretEncryptionKey
      parameters:
        - in: path
          name: function_id
          required: true
          schema:
            description: The functionId field.
            readOnly: false
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.functions.v1.FunctionsServiceGetFunctionSecretEncryptionKeyResponse
          description: Successful response
      x-codeSamples:
        - lang: go
          label: GetFunctionSecretEncryptionKey
          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.Functions.GetFunctionSecretEncryptionKey(ctx, operations.C1APIFunctionsV1FunctionsServiceGetFunctionSecretEncryptionKeyRequest{\n        FunctionID: \"<id>\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.FunctionsServiceGetFunctionSecretEncryptionKeyResponse != nil {\n        // handle response\n    }\n}"
components:
  schemas:
    c1.api.functions.v1.FunctionsServiceGetFunctionSecretEncryptionKeyResponse:
      description: The FunctionsServiceGetFunctionSecretEncryptionKeyResponse message.
      properties:
        publicKey:
          description: The publicKey field.
          format: base64
          readOnly: false
          type: string
      title: Functions Service Get Function Secret Encryption Key Response
      type: object
      x-speakeasy-name-override: FunctionsServiceGetFunctionSecretEncryptionKeyResponse
  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

````