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

# Create

> Create mints an Edge (and its egress.connect entitlement) for an app.
 The Edge starts disabled.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/apps/{app_id}/edges
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/apps/{app_id}/edges:
    post:
      tags:
        - Edge
      summary: Create
      description: |-
        Create mints an Edge (and its egress.connect entitlement) for an app.
         The Edge starts disabled.
      operationId: c1.api.edge.v1.EdgeService.Create
      parameters:
        - in: path
          name: app_id
          required: true
          schema:
            description: App identifier.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.edge.v1.EdgeServiceCreateRequestInput
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.edge.v1.EdgeServiceCreateResponse'
          description: |-
            EdgeServiceCreateResponse returns the newly minted Edge,
             including its capability entitlement id.
components:
  schemas:
    c1.api.edge.v1.EdgeServiceCreateRequestInput:
      description: |-
        EdgeServiceCreateRequest creates an Edge for an app. The new Edge starts
         disabled and denies every capability until enabled.
      properties:
        displayName:
          description: Display name for the Edge. Defaults to "Edge" when empty.
          type: string
      title: Edge Service Create Request
      type: object
      x-speakeasy-name-override: EdgeServiceCreateRequest
    c1.api.edge.v1.EdgeServiceCreateResponse:
      description: |-
        EdgeServiceCreateResponse returns the newly minted Edge,
         including its capability entitlement id.
      properties:
        edge:
          oneOf:
            - $ref: '#/components/schemas/c1.api.edge.v1.Edge'
            - type: 'null'
      title: Edge Service Create Response
      type: object
      x-speakeasy-name-override: EdgeServiceCreateResponse
    c1.api.edge.v1.Edge:
      description: >-
        Edge is an application-owned configuration for egress and inference
        services.
      properties:
        appId:
          description: App identifier.
          type: string
        createdAt:
          format: date-time
          type:
            - string
            - 'null'
        displayName:
          description: The displayName field.
          type: string
        egressConnectEntitlementId:
          description: >-
            The minted egress.connect entitlement (derived from the Edge id) --
            grant
             it to a caller to let it open an authenticated egress connection.
          type: string
        id:
          description: The id field.
          type: string
        mode:
          description: >-
            Hosting state for the service configuration. DISABLED and
            UNSPECIFIED
             deny every request. Enabled modes still require capability authorization;
             content policy and routing remain configured on the Edge host.
          enum:
            - EDGE_MODE_UNSPECIFIED
            - EDGE_MODE_DISABLED
            - EDGE_MODE_ENFORCE
          type: string
          x-speakeasy-unknown-values: allow
        tokenAudience:
          description: >-
            The `audience` to send when exchanging a token for access to this
            Edge.
             Every Edge deployment in the tenant shares it, so it names the service;
             `token_resources` identify its service endpoints.
          type: string
        tokenResources:
          oneOf:
            - $ref: '#/components/schemas/c1.api.edge.v1.EdgeTokenResources'
            - type: 'null'
        tokenScopes:
          description: >-
            The scopes this Edge can issue. Explicit requests fail if any scope
            is
             ungranted; an omitted scope requests the granted capabilities of each resource.
          items:
            type: string
          type:
            - array
            - 'null'
        updatedAt:
          format: date-time
          type:
            - string
            - 'null'
      title: Edge
      type: object
      x-speakeasy-name-override: Edge
    c1.api.edge.v1.EdgeTokenResources:
      description: >-
        EdgeTokenResources names the resource URI for each supported Edge
        service.
      properties:
        egress:
          description: Resource URI used with the egress.connect scope.
          type: string
      title: Edge Token Resources
      type: object
      x-speakeasy-name-override: EdgeTokenResources
  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

````