Introduction

This documentation aims to provide all the information you need to work with our API.

Use the links on the left to find the documentation for each endpoint.

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

Generate long lived API tokens in the Settings > API Keys section of your workspace.

Interview Assistant

APIs for managing interview assistant

Start a new interview generation process.

POST
https://app.mobrule.ai
/api/v1/interview-assistant
requires authentication

This can be used when you want use our automated interview generation from an objective and some basic configuration options.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request POST \
    "https://app.mobrule.ai/api/v1/interview-assistant" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"objective\": \"My company is a specialist in the field of [your industry]. I want to hire a new employee and evaluate their skills and experience before hiring them. The most important details I need to know are their experience, skills, and any other relevant details in the industry.\",
    \"approx_duration\": 15,
    \"approx_questions\": 10,
    \"user_uuid\": \"6ff8f7f6-1eb3-3525-be4a-3932c805afed\",
    \"workspace_uuid\": \"6ff8f7f6-1eb3-3525-be4a-3932c805afed\"
}"
Example response:
{
    "status": "success",
    "message": "Interview creation started",
    "data": {
        "generator_id": "some-random-id"
    }
}
{
    "status": "error",
    "message": "Unauthenticated"
}

Get the progress and status of an interview generation process.

GET
https://app.mobrule.ai
/api/v1/interview-assistant/{generatorId}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

generatorId
string
required
Example:
architecto
Example request:
curl --request GET \
    --get "https://app.mobrule.ai/api/v1/interview-assistant/architecto" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
Headers

cache-control
                                                            : no-cache, private
content-type
                                                            : application/json
x-ratelimit-limit
                                                            : 600
x-ratelimit-remaining
                                                            : 599
vary
                                                            : Origin
{
    "message": "Unauthenticated."
}

Interview Sessions

APIs for managing interview sessions

Pre-authenticate users for an interview session.

POST
https://app.mobrule.ai
/api/v1/interview-sessions/{interview_uuid}/pre-authenticate
requires authentication

Generates verification tokens and URLs for one or more users to access an interview session.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

interview_uuid
string
required
Example:
fb260a39-51ec-461f-b835-3b1f71c2554e

Body Parameters

Example request:
curl --request POST \
    "https://app.mobrule.ai/api/v1/interview-sessions/fb260a39-51ec-461f-b835-3b1f71c2554e/pre-authenticate" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"emails\": [
        \"user@example.com\",
        \"user2@example.com\"
    ]
}"
Example response:
{
    "message": "Pre-authentication URLs generated successfully",
    "urls": [
        {
            "email": "user@example.com",
            "response_uuid": "123e4567-e89b-12d3-a456-426614174000",
            "verification_url": "https://app.mobrule.com/interview-uuid/verify?token=abc123",
            "expires_at": "2025-01-27T10:30:00Z"
        }
    ]
}
{
    "message": "Unauthorized.",
    "error": true
}
{
    "message": "Interview not found or access denied.",
    "error": true
}
{
    "message": "Interview is no longer active.",
    "error": true
}
{
    "message": "The number of external_ids must match the number of emails.",
    "error": true
}
{
    "message": "An error occurred while generating pre-authentication URLs.",
    "error": true
}

Responses

APIs for managing responses

Get the details of a response

GET
https://app.mobrule.ai
/api/v1/responses/{uuid}
requires authentication

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

uuid
string
required
Example:
9e906d5d-9d14-4fe6-8c19-3121d42f2e00
Example request:
curl --request GET \
    --get "https://app.mobrule.ai/api/v1/responses/9e906d5d-9d14-4fe6-8c19-3121d42f2e00" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "status": "success",
    "message": "Response retrieved successfully",
    "data": {
        "uuid": "uuid",
        "state": "started",
        "step": "questioning",
        "interview_uuid": "0198666b-4a64-7397-9674-1a15b9688095",
        "response_data": "array",
        "person": {
            "uuid": "0198666a-6545-704f-b52d-cdd79189bde3",
            "name": "Jane Doe",
            "email": "jane.doe@example.com",
            "external_id": "",
            "created_at": "2025-01-01T00:00:00.000000Z",
            "updated_at": "2025-01-01T00:00:00.000000Z"
        },
        "created_at": "2025-01-01T00:00:00.000000Z",
        "updated_at": "2025-01-01T00:00:00.000000Z"
    }
}
{
    "status": "error",
    "message": "Unauthorized"
}

Workspace

APIs for managing workspaces

Get the details of your workspace

GET
https://app.mobrule.ai
/api/v1/workspace
requires authentication

Your API key is assigned to a workspace. This endpoint will return the details of your workspace.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json
Example request:
curl --request GET \
    --get "https://app.mobrule.ai/api/v1/workspace" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "status": "success",
    "message": "Workspace found",
    "data": {
        "uuid": "string",
        "name": "string",
        "created_at": "string",
        "updated_at": "string"
    }
}