telnyx-missions-java
npx skills add https://github.com/team-telnyx/telnyx-ext-agent-skills --skill telnyx-missions-java
Agent 安装分布
Skill 文档
Telnyx Missions – Java
Installation
// See https://github.com/team-telnyx/telnyx-java for Maven/Gradle setup
Setup
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
TelnyxClient client = TelnyxOkHttpClient.fromEnv();
All examples below assume client is already initialized as shown above.
List missions
List all missions for the organization
GET /ai/missions
import com.telnyx.sdk.models.ai.missions.MissionListPage;
import com.telnyx.sdk.models.ai.missions.MissionListParams;
MissionListPage page = client.ai().missions().list();
Create mission
Create a new mission definition
POST /ai/missions â Required: name
Optional: description (string), execution_mode (enum), instructions (string), metadata (object), model (string)
import com.telnyx.sdk.models.ai.missions.MissionCreateParams;
import com.telnyx.sdk.models.ai.missions.MissionCreateResponse;
MissionCreateParams params = MissionCreateParams.builder()
.name("name")
.build();
MissionCreateResponse mission = client.ai().missions().create(params);
List recent events
List recent events across all missions
GET /ai/missions/events
import com.telnyx.sdk.models.ai.missions.MissionListEventsPage;
import com.telnyx.sdk.models.ai.missions.MissionListEventsParams;
MissionListEventsPage page = client.ai().missions().listEvents();
List recent runs
List recent runs across all missions
GET /ai/missions/runs
import com.telnyx.sdk.models.ai.missions.runs.RunListRunsPage;
import com.telnyx.sdk.models.ai.missions.runs.RunListRunsParams;
RunListRunsPage page = client.ai().missions().runs().listRuns();
Get mission
Get a mission by ID (includes tools, knowledge_bases, mcp_servers)
GET /ai/missions/{mission_id}
import com.telnyx.sdk.models.ai.missions.MissionRetrieveParams;
import com.telnyx.sdk.models.ai.missions.MissionRetrieveResponse;
MissionRetrieveResponse mission = client.ai().missions().retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");
Update mission
Update a mission definition
PUT /ai/missions/{mission_id}
Optional: description (string), execution_mode (enum), instructions (string), metadata (object), model (string), name (string)
import com.telnyx.sdk.models.ai.missions.MissionUpdateMissionParams;
import com.telnyx.sdk.models.ai.missions.MissionUpdateMissionResponse;
MissionUpdateMissionResponse response = client.ai().missions().updateMission("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");
Delete mission
Delete a mission
DELETE /ai/missions/{mission_id}
import com.telnyx.sdk.models.ai.missions.MissionDeleteMissionParams;
client.ai().missions().deleteMission("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");
Clone mission
Clone an existing mission
POST /ai/missions/{mission_id}/clone
import com.telnyx.sdk.models.ai.missions.MissionCloneMissionParams;
import com.telnyx.sdk.models.ai.missions.MissionCloneMissionResponse;
MissionCloneMissionResponse response = client.ai().missions().cloneMission("mission_id");
List runs for mission
List all runs for a specific mission
GET /ai/missions/{mission_id}/runs
import com.telnyx.sdk.models.ai.missions.runs.RunListPage;
import com.telnyx.sdk.models.ai.missions.runs.RunListParams;
RunListPage page = client.ai().missions().runs().list("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");
Start a run
Start a new run for a mission
POST /ai/missions/{mission_id}/runs
Optional: input (object), metadata (object)
import com.telnyx.sdk.models.ai.missions.runs.RunCreateParams;
import com.telnyx.sdk.models.ai.missions.runs.RunCreateResponse;
RunCreateResponse run = client.ai().missions().runs().create("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e");
Get run details
Get details of a specific run
GET /ai/missions/{mission_id}/runs/{run_id}
import com.telnyx.sdk.models.ai.missions.runs.RunRetrieveParams;
import com.telnyx.sdk.models.ai.missions.runs.RunRetrieveResponse;
RunRetrieveParams params = RunRetrieveParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.build();
RunRetrieveResponse run = client.ai().missions().runs().retrieve(params);
Update run
Update run status and/or result
PATCH /ai/missions/{mission_id}/runs/{run_id}
Optional: error (string), metadata (object), result_payload (object), result_summary (string), status (enum)
import com.telnyx.sdk.models.ai.missions.runs.RunUpdateParams;
import com.telnyx.sdk.models.ai.missions.runs.RunUpdateResponse;
RunUpdateParams params = RunUpdateParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.build();
RunUpdateResponse run = client.ai().missions().runs().update(params);
Cancel run
Cancel a running or paused run
POST /ai/missions/{mission_id}/runs/{run_id}/cancel
import com.telnyx.sdk.models.ai.missions.runs.RunCancelRunParams;
import com.telnyx.sdk.models.ai.missions.runs.RunCancelRunResponse;
RunCancelRunParams params = RunCancelRunParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.build();
RunCancelRunResponse response = client.ai().missions().runs().cancelRun(params);
List events
List events for a run (paginated)
GET /ai/missions/{mission_id}/runs/{run_id}/events
import com.telnyx.sdk.models.ai.missions.runs.events.EventListPage;
import com.telnyx.sdk.models.ai.missions.runs.events.EventListParams;
EventListParams params = EventListParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.build();
EventListPage page = client.ai().missions().runs().events().list(params);
Log event
Log an event for a run
POST /ai/missions/{mission_id}/runs/{run_id}/events â Required: type, summary
Optional: agent_id (string), idempotency_key (string), payload (object), step_id (string)
import com.telnyx.sdk.models.ai.missions.runs.events.EventLogParams;
import com.telnyx.sdk.models.ai.missions.runs.events.EventLogResponse;
EventLogParams params = EventLogParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.summary("summary")
.type(EventLogParams.Type.STATUS_CHANGE)
.build();
EventLogResponse response = client.ai().missions().runs().events().log(params);
Get event details
Get details of a specific event
GET /ai/missions/{mission_id}/runs/{run_id}/events/{event_id}
import com.telnyx.sdk.models.ai.missions.runs.events.EventGetEventDetailsParams;
import com.telnyx.sdk.models.ai.missions.runs.events.EventGetEventDetailsResponse;
EventGetEventDetailsParams params = EventGetEventDetailsParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.eventId("event_id")
.build();
EventGetEventDetailsResponse response = client.ai().missions().runs().events().getEventDetails(params);
Pause run
Pause a running run
POST /ai/missions/{mission_id}/runs/{run_id}/pause
import com.telnyx.sdk.models.ai.missions.runs.RunPauseRunParams;
import com.telnyx.sdk.models.ai.missions.runs.RunPauseRunResponse;
RunPauseRunParams params = RunPauseRunParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.build();
RunPauseRunResponse response = client.ai().missions().runs().pauseRun(params);
Get plan
Get the plan (all steps) for a run
GET /ai/missions/{mission_id}/runs/{run_id}/plan
import com.telnyx.sdk.models.ai.missions.runs.plan.PlanRetrieveParams;
import com.telnyx.sdk.models.ai.missions.runs.plan.PlanRetrieveResponse;
PlanRetrieveParams params = PlanRetrieveParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.build();
PlanRetrieveResponse plan = client.ai().missions().runs().plan().retrieve(params);
Create initial plan
Create the initial plan for a run
POST /ai/missions/{mission_id}/runs/{run_id}/plan â Required: steps
import com.telnyx.sdk.models.ai.missions.runs.plan.PlanCreateParams;
import com.telnyx.sdk.models.ai.missions.runs.plan.PlanCreateResponse;
PlanCreateParams params = PlanCreateParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.addStep(PlanCreateParams.Step.builder()
.description("description")
.sequence(0L)
.stepId("step_id")
.build())
.build();
PlanCreateResponse plan = client.ai().missions().runs().plan().create(params);
Add step(s) to plan
Add one or more steps to an existing plan
POST /ai/missions/{mission_id}/runs/{run_id}/plan/steps â Required: steps
import com.telnyx.sdk.models.ai.missions.runs.plan.PlanAddStepsToPlanParams;
import com.telnyx.sdk.models.ai.missions.runs.plan.PlanAddStepsToPlanResponse;
PlanAddStepsToPlanParams params = PlanAddStepsToPlanParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.addStep(PlanAddStepsToPlanParams.Step.builder()
.description("description")
.sequence(0L)
.stepId("step_id")
.build())
.build();
PlanAddStepsToPlanResponse response = client.ai().missions().runs().plan().addStepsToPlan(params);
Get step details
Get details of a specific plan step
GET /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}
import com.telnyx.sdk.models.ai.missions.runs.plan.PlanGetStepDetailsParams;
import com.telnyx.sdk.models.ai.missions.runs.plan.PlanGetStepDetailsResponse;
PlanGetStepDetailsParams params = PlanGetStepDetailsParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.stepId("step_id")
.build();
PlanGetStepDetailsResponse response = client.ai().missions().runs().plan().getStepDetails(params);
Update step status
Update the status of a plan step
PATCH /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}
Optional: metadata (object), status (enum)
import com.telnyx.sdk.models.ai.missions.runs.plan.PlanUpdateStepParams;
import com.telnyx.sdk.models.ai.missions.runs.plan.PlanUpdateStepResponse;
PlanUpdateStepParams params = PlanUpdateStepParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.stepId("step_id")
.build();
PlanUpdateStepResponse response = client.ai().missions().runs().plan().updateStep(params);
Resume run
Resume a paused run
POST /ai/missions/{mission_id}/runs/{run_id}/resume
import com.telnyx.sdk.models.ai.missions.runs.RunResumeRunParams;
import com.telnyx.sdk.models.ai.missions.runs.RunResumeRunResponse;
RunResumeRunParams params = RunResumeRunParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.build();
RunResumeRunResponse response = client.ai().missions().runs().resumeRun(params);
List linked Telnyx agents
List all Telnyx agents linked to a run
GET /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents
import com.telnyx.sdk.models.ai.missions.runs.telnyxagents.TelnyxAgentListParams;
import com.telnyx.sdk.models.ai.missions.runs.telnyxagents.TelnyxAgentListResponse;
TelnyxAgentListParams params = TelnyxAgentListParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.build();
TelnyxAgentListResponse telnyxAgents = client.ai().missions().runs().telnyxAgents().list(params);
Link Telnyx agent to run
Link a Telnyx AI agent (voice/messaging) to a run
POST /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents â Required: telnyx_agent_id
import com.telnyx.sdk.models.ai.missions.runs.telnyxagents.TelnyxAgentLinkParams;
import com.telnyx.sdk.models.ai.missions.runs.telnyxagents.TelnyxAgentLinkResponse;
TelnyxAgentLinkParams params = TelnyxAgentLinkParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.telnyxAgentId("telnyx_agent_id")
.build();
TelnyxAgentLinkResponse response = client.ai().missions().runs().telnyxAgents().link(params);
Unlink Telnyx agent
Unlink a Telnyx agent from a run
DELETE /ai/missions/{mission_id}/runs/{run_id}/telnyx-agents/{telnyx_agent_id}
import com.telnyx.sdk.models.ai.missions.runs.telnyxagents.TelnyxAgentUnlinkParams;
TelnyxAgentUnlinkParams params = TelnyxAgentUnlinkParams.builder()
.missionId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.runId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
.telnyxAgentId("telnyx_agent_id")
.build();
client.ai().missions().runs().telnyxAgents().unlink(params);