mutation contactCreateIdvSessionAuthenticated

Returns ContactIdvSession

Arguments

ArgumentTypeDescription
inputContactCreateIdvSession!

Example request

curl -X POST 'https://graph.clientloop.com/' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <api-key>' \
  -d '{
    "query": "mutation ContactCreateIdvSession($input: ContactCreateIdvSession!) { contactCreateIdvSession(input: $input) { token expiresAt contactId } }",
    "variables": {
      "input": {
        "orgId": "abc123"
      }
    }
  }'
const response = await fetch('https://graph.clientloop.com/', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <api-key>',
  },
  body: JSON.stringify({
    query: `
      mutation ContactCreateIdvSession($input: ContactCreateIdvSession!) {
        contactCreateIdvSession(input: $input) {
          token
          expiresAt
          contactId
        }
      }
    `,
    variables: {
      "input": {
        "orgId": "abc123"
      }
    },
  }),
});

const { data, errors } = await response.json();
<?php

$body = <<<'JSON'
{
  "query": "mutation ContactCreateIdvSession($input: ContactCreateIdvSession!) { contactCreateIdvSession(input: $input) { token expiresAt contactId } }",
  "variables": {
    "input": {
      "orgId": "abc123"
    }
  }
}
JSON;

$ch = curl_init('https://graph.clientloop.com/');
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Authorization: Bearer <api-key>',
  ],
  CURLOPT_POSTFIELDS => $body,
]);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

var body = """
{
  "query": "mutation ContactCreateIdvSession($input: ContactCreateIdvSession!) { contactCreateIdvSession(input: $input) { token expiresAt contactId } }",
  "variables": {
    "input": {
      "orgId": "abc123"
    }
  }
}
""";

var request = HttpRequest.newBuilder(URI.create("https://graph.clientloop.com/"))
    .header("Content-Type", "application/json")
    .header("Authorization", "Bearer <api-key>")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();

var response = HttpClient.newHttpClient()
    .send(request, HttpResponse.BodyHandlers.ofString());

System.out.println(response.body());
using System.Net.Http;
using System.Text;

var body = """
{
  "query": "mutation ContactCreateIdvSession($input: ContactCreateIdvSession!) { contactCreateIdvSession(input: $input) { token expiresAt contactId } }",
  "variables": {
    "input": {
      "orgId": "abc123"
    }
  }
}
""";

using var client = new HttpClient();
using var content = new StringContent(body, Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Add("Authorization", "Bearer <api-key>");

var response = await client.PostAsync("https://graph.clientloop.com/", content);
var result = await response.Content.ReadAsStringAsync();

Types

input ContactCreateIdvSession

FieldTypeDescription
orgIdID!
contactIdID

type ContactIdvSession

FieldTypeDescription
tokenString!

Opaque session token for the <contact-idv-session> component. Carries the Plaid link token and the org it was minted for; do not pass it to Plaid Link directly.

expiresAtDateTime!
contactIdID!

The contact the session verifies. Echoes the supplied contactId, or the one minted when it was omitted.

scalar DateTime

ISO 8601 formatted date time. Ex. 2023-11-23T14:30:00Z