Getting Started with Wayfaster

Welcome to Wayfaster! This guide will help you set up and start using our API to streamline your interview process.

Setting up

To begin using Wayfaster, follow these steps:

1. Obtain Your API Key

  1. Log in to your Tech Interviewer admin dashboard
  2. Go to the Settings page
  3. Click on “Generate API Key”
  4. Use this API key as your password and the generated Team ID as your username for authentication (we use HTTP Basic auth). The Team ID will never change no mater how many times you generate a new API key.

2. Create an Interview Configuration

An interview configuration id aka an interview_config_id is a required parameter for the sessions related endpoints as well as of course reading an interview config. We don’t offer a way to create an interview config through the API at the moment, so you will need to create one in the dashboard.

  1. In the admin dashboard, create a new interview configuration
  2. Note the ID of the interview config from the dashboard URL
  3. Alternatively, query for it using the interview-configs API endpoint

Optional: Set Up Webhooks

To receive real-time updates about your interviews:

  1. Go to the Settings section in your admin dashboard
  2. Locate the Webhooks configuration area
  3. Enter the URL where you want to receive webhook events
  4. Save your webhook settings

With these steps completed, you’re ready to start using Wayfaster to enhance your interview process!

Webhook Authentication

We include an Authorization header with a base64 encoded value of the Team ID and API key (base64.encode(<team_id>:<api_key>)), so you can authenticate the webhook requests we send to your defined endpoint. You can decode this header value and check the Team ID and API Key matches to guarantee the request is coming from us.

Webhook Events

There are the events we support:

session_started

Sent when a candidate presses “start interview” in interface. Payload format of an example event:

{
  "event_type": "session_started",
  "timestamp": "2022-01-01T00:00:00Z",
  "session": {
    "id": "123"
  },
  "call_type": "phone",
  "candidate": {
    "first_name": "John",
    "last_name": "Doe",
    "phone": "+12345678901"
  },  
  "interview_config": {
    "id": "123",
    "title": "Customer Support",
    "questions": [...],
    "scorecard": [...]
  },

}

session_completed

Sent when interview session has been completed by candidate. Payload format of an example event:

{
  "event_type": "session_completed",
  "timestamp": "2022-01-01T00:00:00Z",
  "session": {
    "id": "123"
  },
  "candidate": {
    "first_name": "John",
    "last_name": "Doe",
    "phone": "+12345678901"
  },    
  "interview_config": {
    "id": "123",
    "title": "Customer Support",
    "questions": [...],
    "scorecard": [...]
  }
}