> ## Documentation Index
> Fetch the complete documentation index at: https://docs.junction.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Link Demo provider

> Create or submit link connect demo via the Junction API. Requires authentication with your team API key.

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
       --url {{BASE_URL}}/v2/link/connect/demo \
       --header 'Accept: application/json' \
       --header 'Content-Type: application/json' \
       --header 'x-vital-link-token: <VITAL-LINK-TOKEN>' \
       --data '
  {
      "user_id": "1875c190-0cd6-46c1-8670-5b56a7794b78",
      "provider": "fitbit"
  }
  '
  ```

  ```typescript TypeScript theme={null}
  import { JunctionClient, JunctionEnvironment, DemoProviders } from "@junction-api/sdk";

  const client = new JunctionClient({
      apiKey: "YOUR_API_KEY",
      environment: JunctionEnvironment.Sandbox,
  });

  const data = await client.link.connectDemoProvider({
      userId: "<user_id>",
      provider: DemoProviders.AppleHealthKit,
  });
  ```

  ```python Python theme={null}
  from junction import DemoProviders, Junction
  from junction.environment import JunctionEnvironment

  client = Junction(
      api_key="YOUR_API_KEY",
      environment=JunctionEnvironment.SANDBOX,
  )

  data = client.link.connect_demo_provider(
      user_id="<user_id>",
      provider=DemoProviders.APPLE_HEALTH_KIT,
  )
  ```

  ```java Java theme={null}
  import com.junction.api.Junction;
  import com.junction.api.core.Environment;
  import com.junction.api.resources.link.requests.DemoConnectionCreationPayload;
  import com.junction.api.types.DemoProviders;

  Junction client = Junction.builder()
      .apiKey("YOUR_API_KEY")
      .environment(Environment.SANDBOX)
      .build();

  var data = client.link().connectDemoProvider(
      DemoConnectionCreationPayload.builder()
          .userId("<user_id>")
          .provider(DemoProviders.APPLE_HEALTH_KIT)
          .build()
  );
  ```

  ```go Go theme={null}
  import (
      "context"

      junction "github.com/junction-api/junction-go"
      "github.com/junction-api/junction-go/client"
      "github.com/junction-api/junction-go/option"
  )

  c := client.NewClient(
      option.WithApiKey("YOUR_API_KEY"),
      option.WithBaseURL(junction.Environments.Sandbox),
  )

  response, err := c.Link.ConnectDemoProvider(context.TODO(), &junction.DemoConnectionCreationPayload{
      UserId:   "<user_id>",
      Provider: junction.DemoProvidersAppleHealthKit,
  })
  if err != nil {
      return err
  }
  fmt.Printf("Received data %s\n", response)
  ```
</RequestExample>


## OpenAPI

````yaml POST /v2/link/connect/demo
openapi: 3.1.0
info:
  title: Junction API
  description: https://docs.junction.com/
  version: 0.4.483
servers:
  - url: https://api.us.junction.com
    x-fern-server-name: Production
  - url: https://api.eu.junction.com
    x-fern-server-name: ProductionEU
  - url: https://api.sandbox.us.junction.com
    x-fern-server-name: Sandbox
  - url: https://api.sandbox.eu.junction.com
    x-fern-server-name: SandboxEU
security:
  - apiKeyAuth: []
paths:
  /v2/link/connect/demo:
    post:
      tags:
        - link
      summary: Create Demo Connection
      description: POST Connect the given Vital user to a demo provider.
      operationId: create_demo_connection_v2_link_connect_demo_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DemoConnectionCreationPayload'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DemoConnectionStatus'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    DemoConnectionCreationPayload:
      properties:
        user_id:
          type: string
          format: uuid4
          title: User Id
          description: Vital user ID
        provider:
          $ref: '#/components/schemas/DemoProviders'
          description: >-
            Demo provider. For more information, please check out our docs
            (https://docs.tryvital.io/wearables/providers/test_data) ℹ️ This
            enum is non-exhaustive.
      type: object
      required:
        - user_id
        - provider
      title: DemoConnectionCreationPayload
    DemoConnectionStatus:
      properties:
        success:
          type: boolean
          title: Success
        detail:
          type: string
          title: Detail
      type: object
      required:
        - success
        - detail
      title: DemoConnectionStatus
      example:
        detail: Connected user 37c9c3fa-49e8-4d60-8cc8-328cba420f30 to provider fitbit
        success: true
    HTTPValidationError:
      properties:
        detail:
          title: Detail
      type: object
      title: HTTPValidationError
    DemoProviders:
      type: string
      enum:
        - apple_health_kit
        - fitbit
        - freestyle_libre
        - oura
      title: DemoProviders
      description: ℹ️ This enum is non-exhaustive.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-vital-api-key
      description: Vital Team API Key

````