> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-docs-terraform-v2-owner-resources.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 one App-owned connection-routing configuration. It is the
         capability-neutral root for egress today and future LLM routing /
         credential-injection features; capability-specific config lands additively.
      properties:
        appId:
          description: App identifier.
          type: string
        audienceClientIds:
          additionalProperties:
            type: string
          description: |-
            Overrides the ID-JAG `client_id` this Edge asserts, keyed by the
             authenticating client's own id, valued by the id it should assert
             instead. A client with no entry keeps the default: its own id,
             verbatim. Not format-constrained -- a resource server that requires a
             particular shape (e.g. an absolute https URL) enforces that itself.
          type: object
        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: >-
            Global e-stop for the connection-routing configuration. DISABLED
            (and
             UNSPECIFIED) denies every capability; OBSERVE evaluates policy but serves
             the request, recording what ENFORCE would have answered; ENFORCE serves
             the policy decision.
          enum:
            - EDGE_MODE_UNSPECIFIED
            - EDGE_MODE_DISABLED
            - EDGE_MODE_OBSERVE
            - 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_resource` names this Edge.
          type: string
        tokenResource:
          description: >-
            The `resource` to send alongside `token_audience`. It pins the
            exchange to
             this Edge, and the issued grant echoes it back, so send it exactly as
             given.
          type: string
        tokenScopes:
          description: >-
            The scopes this Edge can issue. An exchange receives the ones it
            requests
             that the caller also holds the matching capability entitlement for.
          items:
            type: string
          type:
            - array
            - 'null'
        updatedAt:
          format: date-time
          type:
            - string
            - 'null'
      title: Edge
      type: object
      x-speakeasy-name-override: Edge
  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

````