TapiocaHub API (1.0.0)

Download OpenAPI specification:

API for managing communication jobs and related data

Retrieve jobs

Returns a list of jobs based on specified filters

Authorizations:
bearerAuth
query Parameters
offset
integer >= 0
Default: 0

Number of items to skip before starting to collect the result set

limit
integer [ 1 .. 100 ]
Default: 10
Example: limit=10

Maximum number of items to return

use_case_id
string <uuid>
Example: use_case_id=a1707291-55c6-4bed-abc0-5a1df748d4f1

Filter jobs by use case ID

status
Array of strings
Items Enum: "pending" "in_progress" "completed" "failed" "scheduled" "canceled"
Example: status=pending&status=scheduled

Filter jobs by one or more statuses

input_params
string
Example: input_params={"client_id":"42","phone_number":"+34666777888"}

JSON-encoded object of input parameters to filter by. The keys must match the use case input parameter definitions.

created_after
string <date-time>
Example: created_after=2025-01-01T00:00:00Z

Filter jobs created after this timestamp (inclusive). ISO 8601 format. All dates are normalized to UTC.

created_before
string <date-time>
Example: created_before=2025-01-31T23:59:59Z

Filter jobs created before this timestamp (inclusive). ISO 8601 format. All dates are normalized to UTC.

started_after
string <date-time>
Example: started_after=2025-01-15T10:00:00Z

Filter jobs that started after this timestamp (inclusive). ISO 8601 format. All dates are normalized to UTC.

started_before
string <date-time>
Example: started_before=2025-01-15T14:00:00Z

Filter jobs that started before this timestamp (inclusive). ISO 8601 format. All dates are normalized to UTC.

finished_after
string <date-time>
Example: finished_after=2025-01-15T14:30:00Z

Filter jobs that finished after this timestamp (inclusive). ISO 8601 format. All dates are normalized to UTC.

finished_before
string <date-time>
Example: finished_before=2025-01-15T15:00:00Z

Filter jobs that finished before this timestamp (inclusive). ISO 8601 format. All dates are normalized to UTC.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Request a new job

Creates a new job for processing based on a use case

Authorizations:
bearerAuth
Request Body schema: application/json
required
use_case_id
required
string <uuid>

Unique identifier of the use case to apply

channel
required
string
Value: "voice"

Communication channel to use for the job

language
required
string
Enum: "es-ES" "en-US"

Language code for the job. The code for English (United States) 'en-US'. The prefix, 'en', is a language code following the ISO 639-1 standard. The suffix, 'US', is a country code following the ISO 3166-1 Alpha-2 standard.

boolean or string
Default: false

Controls scheduler behavior. Accepts boolean true/false or string 'true', 'false', '1', '0'.

  • When scheduled_at is NOT provided:
    • true: Job runs immediately (scheduler is skipped)
    • false: Job is scheduled using the use case scheduler settings (default)
  • When scheduled_at IS provided:
    • true: Job is scheduled at the exact scheduled_at time (scheduler is skipped)
    • false: Job is scheduled at the first available time from scheduled_at using the use case scheduler settings (default)
scheduled_at
string <date-time>

Specific date and time to schedule the job (ISO 8601 format).

  • If provided with skip_scheduler=true: Job is scheduled at the exact specified time
  • If provided with skip_scheduler=false: Job is scheduled at the first available time from the specified date based on use case scheduler settings
  • If not provided: Scheduler settings determine the schedule time (or immediate if skip_scheduler=true)
params
required
object

Parameters specific to the use case. The structure depends on the use case's input parameter definitions.

Responses

Request samples

Content type
application/json
{
  • "use_case_id": "a1707291-55c6-4bed-abc0-5a1df748d4f1",
  • "channel": "voice",
  • "language": "es-ES",
  • "skip_scheduler": false,
  • "scheduled_at": "2024-03-25T14:30:00+01:00",
  • "params": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Retrieve a specific job

Returns details for a single job by its ID

Authorizations:
bearerAuth
path Parameters
job_id
required
string <uuid>
Example: d85faf05-3605-4b77-94f1-75ae82b87325

Unique identifier of the job to retrieve

Responses

Response samples

Content type
application/json
{
  • "id": "d85faf05-3605-4b77-94f1-75ae82b87325",
  • "created_at": "2025-03-03T10:23:39.650Z",
  • "scheduled_at": "2025-03-03T14:30:00.000Z",
  • "started_at": "2025-03-03T14:30:05.123Z",
  • "finished_at": "2025-03-03T14:31:12.456Z",
  • "channel": "voice",
  • "direction": "Inbound",
  • "language": "es-ES",
  • "duration": "53.66",
  • "params": { },
  • "extraction": {
    },
  • "classification": {
    },
  • "metadata": {
    },
  • "status": "completed",
  • "use_case_id": "a1707291-55c6-4bed-abc0-5a1df748d4f1",
  • "use_case_name": "Inbound Principal",
  • "transcript": [
    ],
  • "interactions": [
    ]
}

Retrieve a job recording

Returns the URL of the recording of a specific job ID, if available

Authorizations:
bearerAuth
path Parameters
job_id
required
string <uuid>
Example: d85faf05-3605-4b77-94f1-75ae82b87325

Unique identifier of the job to retrieve

Responses

Response samples

Content type
application/json

Cancel a scheduled job

Cancels a job that is in scheduled status and has not been executed yet. Only jobs with status 'scheduled' can be cancelled.

Authorizations:
bearerAuth
path Parameters
job_id
required
string <uuid>
Example: d85faf05-3605-4b77-94f1-75ae82b87325

Unique identifier of the job to cancel

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}