# Jinko

```json
{
  "name": "Jinko",
  "slug": "jinko",
  "url": "https://composio.dev/toolkits/jinko",
  "markdown_url": "https://composio.dev/toolkits/jinko.md",
  "logo_url": "https://logos.composio.dev/api/jinko",
  "categories": [
    "scheduling & booking"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-10-04T16:04:22.345Z"
}
```

![Jinko logo](https://logos.composio.dev/api/jinko)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Jinko MCP or direct API to search flights, search hotels, create and modify bookings, and manage ancillaries and hosted checkout through natural language.

## Summary

Jinko is a travel API platform offering flight and hotel discovery, trip management, ancillaries, and hosted checkout.
Use it to unify search, reservations, ancillaries, and hosted checkout into a single travel API.

## Categories

- scheduling & booking

## Toolkit Details

- Tools: 13

## Images

- Logo: https://logos.composio.dev/api/jinko

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Jinko.
  - Setup:
    - Configure Api Key credentials for Jinko.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Find cheapest roundtrip flights to Tokyo
- Book a refundable hotel in Paris
- Add baggage and seat selection to booking

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `JINKO_ADD_TRIP_ITEM` | Add Trip Item | Add one flight or hotel offer to an existing trip. Returns the successful mutation snapshot and a best-effort canonical trip read; if that read fails, the warning confirms the mutation succeeded and must not be retried blindly. |
| `JINKO_CREATE_HOSTED_CHECKOUT` | Create Hosted Checkout | Quote a complete trip and create a hosted checkout URL for a person to review and pay. This tool neither opens checkout nor submits payment nor creates a booking; create a fresh checkout if the quote expires. |
| `JINKO_CREATE_TRIP` | Create Trip | Create a new trip containing one flight or hotel offer. Returns the successful mutation snapshot and a best-effort canonical trip read; if that read fails, the warning confirms the mutation succeeded and must not be retried blindly. |
| `JINKO_FIND_DESTINATIONS` | Find Destinations | Discover destinations reachable from one or more origins using cached fare data, with optional dates, budget, cabin, and passenger constraints. Increase offset to request another page; returned_count describes only this page. |
| `JINKO_GET_HOTEL_DETAILS` | Get Hotel Details | Get descriptive property, policy, facility, image, and room metadata for one hotel. Rooms are descriptive and unpriced; use Search Hotels for current rates and bookable hotel offer IDs. |
| `JINKO_GET_TRIP` | Get Trip | Read the canonical current state of a trip, including items, travelers, contact, quote and fulfillment state, totals, and booking references. Use this instead of relying on a prior mutation response. |
| `JINKO_LIST_TRIP_ANCILLARIES` | List Trip Ancillaries | Create or reuse a price quote and list purchasable baggage, seat, meal, and other ancillary offers for a trip without creating checkout. Creating the quote can update the trip's quote state and consume Jinko account credit; completed quotes are reused while valid. If Jinko is still pricing, this tool polls until ready or times out; it never returns a hosted checkout URL. |
| `JINKO_REMOVE_TRIP_ITEM` | Remove Trip Item | Remove one flight or hotel item from an existing trip. This is destructive. Returns the successful mutation snapshot and a best-effort canonical trip read; if that read fails, do not retry blindly and reconcile with Get Trip. |
| `JINKO_REPLACE_TRIP_TRAVELERS_AND_CONTACT` | Replace Trip Travelers and Contact | Replace an existing trip's complete traveler list and optionally its booking contact. Travelers cannot be empty. Returns the successful mutation snapshot and a best-effort canonical read; a read warning must not trigger a blind retry. |
| `JINKO_SEARCH_FLIGHT_CALENDAR` | Search Flight Calendar | Search cached priced itineraries for known origins and destinations across exact or flexible dates. This does not live-price fares; pass an itinerary's offer token to Search Flights before adding a fare to a trip. |
| `JINKO_SEARCH_FLIGHTS` | Search Flights | Get live flight offers either by searching a route or by re-pricing one cached discovery offer. Provide exactly one of search or offer_token; re-pricing can return multiple alternatives and exact_match_found may be false. |
| `JINKO_SEARCH_HOTELS` | Search Hotels | Search live hotel availability and priced room rates for dates, occupancy, and one location selector. Pass next_cursor by itself to continue the same search using Jinko's exact next offset. |
| `JINKO_SELECT_ANCILLARIES` | Select Ancillaries | Replace the ancillary selections for one trip item using offer IDs from List Trip Ancillaries. This updates the quoted trip price but does not create checkout or submit payment. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
```python
pip install composio composio_openai openai
```

```typescript
npm install @composio/core @composio/openai openai
```

#### Path 1, Step 2: Create a Composio session

Initialize Composio with the OpenAI Responses provider and create a session scoped to Jinko
```python
import json
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
client = OpenAI()

session = composio.create(user_id="your-user-id", toolkits=["jinko"])
tools = session.tools()
```

```typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["jinko"] });
const tools = await session.tools();
```

#### Path 1, Step 3: Run Jinko tools with your agent

Send a request, execute the Jinko tool calls through the session, and print the final answer
```python
response = client.responses.create(
    model="gpt-5.6-sol",
    tools=tools,
    input=[{"role": "user", "content": "Search cheapest roundtrip flights from SFO to NRT departing 2026-10-01 returning 2026-10-10 for 1 adult economy"}],
)

while True:
    tool_calls = [o for o in response.output if o.type == "function_call"]
    if not tool_calls:
        break
    results = composio.provider.handle_tool_calls(response=response, session=session)
    response = client.responses.create(
        model="gpt-5.6-sol",
        tools=tools,
        previous_response_id=response.id,
        input=[
            {"type": "function_call_output", "call_id": call.call_id, "output": json.dumps(results[i])}
            for i, call in enumerate(tool_calls)
        ],
    )

print(response.output_text)
```

```typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "Search cheapest roundtrip flights from SFO to NRT departing 2026-10-01 returning 2026-10-10 for 1 adult economy" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and your agent framework
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
```

#### Path 2, Step 2: Create a session with MCP enabled

Create a session scoped to Jinko and read its MCP URL and headers
```python
from composio import Composio

composio = Composio()
session = composio.create(user_id="your-user-id", toolkits=["jinko"], mcp=True)
```

```typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["jinko"],
  mcp: true,
});
```

#### Path 2, Step 3: Connect your agent to the MCP server

Pass the session's MCP URL and headers to your agent and run a Jinko request
```python
import asyncio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions, AssistantMessage, TextBlock

options = ClaudeAgentOptions(
    mcp_servers={
        "composio": {
            "type": "http",
            "url": session.mcp.url,
            "headers": session.mcp.headers,
        }
    },
    system_prompt="You are a helpful assistant with access to Jinko tools.",
    tools=[],
    allowed_tools=["mcp__composio__*"],
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query("Search cheapest roundtrip flights from SFO to NRT departing 2026-10-01 returning 2026-10-10 for 1 adult economy")
        async for message in client.receive_response():
            if isinstance(message, AssistantMessage):
                for block in message.content:
                    if isinstance(block, TextBlock):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "Search cheapest roundtrip flights from SFO to NRT departing 2026-10-01 returning 2026-10-10 for 1 adult economy",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
```

## Why Use Composio?

### 1. AI Native Jinko Integration

- Supports both Jinko MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for searching inventory, creating bookings, managing ancillaries, and hosted checkout flows

### 2. Managed Auth

- Central place to manage API keys and service credentials for Jinko
- Secure storage, scoped access, and centralized revocation for keys used with Jinko
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Jinko
- Scoped, least privilege access to Jinko resources
- Full audit trail of agent actions to support review and compliance

## Use Jinko with any AI Agent Framework

Choose a framework you want to connect Jinko with:

- [ChatGPT](https://composio.dev/toolkits/jinko/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/jinko/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/jinko/framework/hermes-agent)
- [Atomic Agent](https://composio.dev/toolkits/jinko/framework/atomic-agent)

## Related Toolkits

- [Google Calendar](https://composio.dev/toolkits/googlecalendar) - Google Calendar is a time management service for scheduling meetings, events, and reminders. It streamlines personal and team organization with integrated notifications and sharing options.
- [Apaleo](https://composio.dev/toolkits/apaleo) - Apaleo is a cloud-based property management platform for hospitality businesses. It centralizes reservations, billing, and daily operations for smoother hotel management.
- [Appointo](https://composio.dev/toolkits/appointo) - Appointo is an appointment booking platform for Shopify stores. It lets businesses add online scheduling to their websites with zero coding.
- [Bart](https://composio.dev/toolkits/bart) - Bart is the Bay Area Rapid Transit system, providing fast public transportation across the San Francisco Bay Area. It helps commuters and travelers get real-time schedule info, plan routes, and stay updated on service changes.
- [Blue Pillow Hotels & Stays](https://composio.dev/toolkits/bluepillow) - Blue Pillow Hotels & Stays is a hotel and stay discovery platform offering live offers, recommendations, and booking handoff. It helps surface and compare real-time deals and validate bookings for smoother reservations.
- [Bookingmood](https://composio.dev/toolkits/bookingmood) - Bookingmood is commission-free booking software for rental businesses. It lets you manage reservations and sync bookings directly on your website.
- [Booqable](https://composio.dev/toolkits/booqable) - Booqable is a rental software platform for managing inventory, bookings, and reservations. It helps businesses streamline rentals and keep track of every item with ease.
- [Cal](https://composio.dev/toolkits/cal) - Cal is a meeting scheduling platform that offers shareable booking links and real-time calendar syncing. It streamlines the process of finding mutual availability to make scheduling effortless.
- [Calendarhero](https://composio.dev/toolkits/calendarhero) - Calendarhero is a powerful scheduling platform that streamlines your calendar management across multiple services. It helps you efficiently schedule, reschedule, and organize meetings without the back-and-forth.
- [Calendly](https://composio.dev/toolkits/calendly) - Calendly is an appointment scheduling tool that automates meeting invitations, availability checks, and reminders. It helps individuals and teams avoid endless email back-and-forth when booking meetings.
- [Calendly MCP](https://composio.dev/toolkits/calendly_mcp) - Calendly is an appointment scheduling platform that manages event types, availability, and invites. Use it to automate booking, reduce back-and-forth, and surface open times quickly.
- [Check Cherry](https://composio.dev/toolkits/check_cherry) - Check Cherry is a business management platform for photography and event service companies. It helps teams manage leads, bookings, appointments, offerings, payments, and workflows in one place.
- [Cronfree Time Scheduler](https://composio.dev/toolkits/cronfree_time_scheduler) - Cronfree Time Scheduler is an API-based scheduler for recurring webhook calls. Use it to create and remove timezone-aware schedules without running cron.
- [Etermin](https://composio.dev/toolkits/etermin) - eTermin is an online appointment scheduling platform for businesses to manage bookings. It streamlines client appointments, saving time and reducing scheduling conflicts.
- [Evenium](https://composio.dev/toolkits/evenium) - Evenium is an all-in-one platform for managing professional events, from planning to analysis. It helps teams simplify event logistics, boost engagement, and track every detail in one place.
- [Eventee](https://composio.dev/toolkits/eventee) - Eventee is a user-friendly event management platform for mobile and web. It boosts attendee engagement for in-person, virtual, and hybrid events.
- [Eventzilla](https://composio.dev/toolkits/eventzilla) - Eventzilla is an event management platform for creating, promoting, and running events. It streamlines ticketing, registration, and attendee coordination for organizers.
- [GoTable](https://composio.dev/toolkits/go_table) - GoTable is a restaurant management REST API for reservations, tables, guests, offers, availability, and webhooks. Use it to programmatically manage bookings, guest data, offers, and table availability.
- [Humanitix](https://composio.dev/toolkits/humanitix) - Humanitix is a not-for-profit ticketing platform that donates 100% of profits to charity. It empowers event organizers to make social impact with every ticket sold.
- [Ignav Flights](https://composio.dev/toolkits/ignav_flights) - Ignav Flights is a flight search API for airports, fares, itineraries, and booking links. It helps apps compare routes and prices fast, so travelers can find practical options sooner.

## Frequently Asked Questions

### Do I need my own developer credentials to use Jinko with Composio?

Yes, Jinko requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
