📋 LanguageService APIv1
Book interpreters and manage sessions
Sessions
Retrieve a list of interpretation sessions for your organization. Results are paginated and sorted by creation date (newest first).
// Node.js (Express backend example)
const express = require("express");
const app = express();
const NL_API_KEY = process.env.NOWLANGUAGE_API_KEY;
app.get("/book-interpreter", async (req, res) => {
const response = await fetch("https://api.nowlanguage.com/v1/sessions", {
method: "GET",
headers: {
"Authorization": "Bearer " + NL_API_KEY,
"Content-Type": "application/json"
}
});
const data = await response.json();
res.json(data);
});Create a new interpretation session request. ## Session Types | Type | Description | |------|-------------| | `video` | Video interpretation with screen sharing | | `audio` | Audio-only interpretation | | `in_person` | On-site interpreter dispatch | | `document` | Document translation | ## Scheduling - **On-demand**: Leave `scheduledAt` empty for immediate connection - **Scheduled**: Provide `scheduledAt` for future appointments
// Node.js (Express backend example)
const express = require("express");
const app = express();
const NL_API_KEY = process.env.NOWLANGUAGE_API_KEY;
app.get("/book-interpreter", async (req, res) => {
const response = await fetch("https://api.nowlanguage.com/v1/sessions", {
method: "POST",
headers: {
"Authorization": "Bearer " + NL_API_KEY,
"Content-Type": "application/json"
}
});
const data = await response.json();
res.json(data);
});Retrieve a session
// Node.js (Express backend example)
const express = require("express");
const app = express();
const NL_API_KEY = process.env.NOWLANGUAGE_API_KEY;
app.get("/book-interpreter", async (req, res) => {
const response = await fetch("https://api.nowlanguage.com/v1/sessions/{id}", {
method: "GET",
headers: {
"Authorization": "Bearer " + NL_API_KEY,
"Content-Type": "application/json"
}
});
const data = await response.json();
res.json(data);
});Update session details (only for pending/scheduled sessions)
// Node.js (Express backend example)
const express = require("express");
const app = express();
const NL_API_KEY = process.env.NOWLANGUAGE_API_KEY;
app.get("/book-interpreter", async (req, res) => {
const response = await fetch("https://api.nowlanguage.com/v1/sessions/{id}", {
method: "PATCH",
headers: {
"Authorization": "Bearer " + NL_API_KEY,
"Content-Type": "application/json"
}
});
const data = await response.json();
res.json(data);
});Cancel a pending or scheduled session. **Cancellation Policy:** - Free cancellation up to 2 hours before scheduled time - 50% charge for cancellations within 2 hours - Full charge for no-shows
// Node.js (Express backend example)
const express = require("express");
const app = express();
const NL_API_KEY = process.env.NOWLANGUAGE_API_KEY;
app.get("/book-interpreter", async (req, res) => {
const response = await fetch("https://api.nowlanguage.com/v1/sessions/{id}/cancel", {
method: "POST",
headers: {
"Authorization": "Bearer " + NL_API_KEY,
"Content-Type": "application/json"
}
});
const data = await response.json();
res.json(data);
});Get connection details to join an active session
// Node.js (Express backend example)
const express = require("express");
const app = express();
const NL_API_KEY = process.env.NOWLANGUAGE_API_KEY;
app.get("/book-interpreter", async (req, res) => {
const response = await fetch("https://api.nowlanguage.com/v1/sessions/{id}/join", {
method: "POST",
headers: {
"Authorization": "Bearer " + NL_API_KEY,
"Content-Type": "application/json"
}
});
const data = await response.json();
res.json(data);
});Languages
Get all languages available for interpretation
// Node.js (Express backend example)
const express = require("express");
const app = express();
const NL_API_KEY = process.env.NOWLANGUAGE_API_KEY;
app.get("/book-interpreter", async (req, res) => {
const response = await fetch("https://api.nowlanguage.com/v1/languages", {
method: "GET",
headers: {
"Authorization": "Bearer " + NL_API_KEY,
"Content-Type": "application/json"
}
});
const data = await response.json();
res.json(data);
});Check real-time availability of interpreters for a language pair
// Node.js (Express backend example)
const express = require("express");
const app = express();
const NL_API_KEY = process.env.NOWLANGUAGE_API_KEY;
app.get("/book-interpreter", async (req, res) => {
const response = await fetch("https://api.nowlanguage.com/v1/languages/availability", {
method: "GET",
headers: {
"Authorization": "Bearer " + NL_API_KEY,
"Content-Type": "application/json"
}
});
const data = await response.json();
res.json(data);
});Interpreters
Search for interpreters by language, specialty, or availability
// Node.js (Express backend example)
const express = require("express");
const app = express();
const NL_API_KEY = process.env.NOWLANGUAGE_API_KEY;
app.get("/book-interpreter", async (req, res) => {
const response = await fetch("https://api.nowlanguage.com/v1/interpreters", {
method: "GET",
headers: {
"Authorization": "Bearer " + NL_API_KEY,
"Content-Type": "application/json"
}
});
const data = await response.json();
res.json(data);
});Webhooks
List webhook endpoints
// Node.js (Express backend example)
const express = require("express");
const app = express();
const NL_API_KEY = process.env.NOWLANGUAGE_API_KEY;
app.get("/book-interpreter", async (req, res) => {
const response = await fetch("https://api.nowlanguage.com/v1/webhooks", {
method: "GET",
headers: {
"Authorization": "Bearer " + NL_API_KEY,
"Content-Type": "application/json"
}
});
const data = await response.json();
res.json(data);
});Subscribe to real-time events. ## Available Events | Event | Description | |-------|-------------| | `session.created` | New session request | | `session.accepted` | Interpreter assigned | | `session.started` | Session in progress | | `session.completed` | Session ended | | `session.cancelled` | Session cancelled | | `interpreter.joined` | Interpreter connected | | `payment.completed` | Payment processed |
// Node.js (Express backend example)
const express = require("express");
const app = express();
const NL_API_KEY = process.env.NOWLANGUAGE_API_KEY;
app.get("/book-interpreter", async (req, res) => {
const response = await fetch("https://api.nowlanguage.com/v1/webhooks", {
method: "POST",
headers: {
"Authorization": "Bearer " + NL_API_KEY,
"Content-Type": "application/json"
}
});
const data = await response.json();
res.json(data);
});