Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions MCP_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ Search for bill of lading 123456789
| `list_containers` | Browse all tracked containers |
| `list_shipments` | Browse all shipments |
| `list_tracking_requests` | Browse tracking requests |
| `whoami` | Identify the credential, account, and available features |

### 🎯 Workflow Prompts (3)

Expand Down
883 changes: 519 additions & 364 deletions Terminal49-API.postman_collection.json

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions chatgpt-app-submission.json
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,18 @@
"open_world_justification": "Does not publish content or change public or third-party systems.",
"destructive_justification": "Does not delete, overwrite, revoke access, or perform irreversible actions."
}
},
"whoami": {
"annotations": {
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
},
"justifications": {
"read_only_justification": "Reads the caller's own credential, account, and feature availability without modifying data.",
"open_world_justification": "Reads the connected Terminal49 account only and does not change any external system.",
"destructive_justification": "Does not delete, overwrite, revoke access, or perform irreversible actions."
}
}
},
"test_cases": [
Expand Down
3 changes: 2 additions & 1 deletion claude-connector-submission.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
"search_container",
"search_docs",
"summarize_containers",
"track_container"
"track_container",
"whoami"
]
},
"company": {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: "Get the current credential"
description: "Identify the API key or signed-in user behind a request, the Terminal49 account it is scoped to, and which gated features that credential can use on that account."
og:title: Current Credential | Terminal49 API Documentation
og:description: Call GET /me to learn which account and credential a Terminal49 API request uses and which features are available to it.
openapi: get /me
---
1 change: 1 addition & 0 deletions docs/api-docs/in-depth-guides/mcp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,7 @@ T49_API_TOKEN=YOUR_API_KEY npm run mcp:stdio 2>&1 | head -20
| `list_shipments` | List shipments with filters + pagination | `status?`, `port?`, `carrier?`, `updated_after?`, `include_containers?`, `page?`, `page_size?` |
| `list_containers` | List containers with filters + pagination | `status?`, `port?`, `carrier?`, `updated_after?`, `include?`, `page?`, `page_size?` |
| `list_tracking_requests` | List tracking requests with filters | `filters?`, `status?`, `request_type?`, `page?`, `page_size?` |
| `whoami` | Identify the credential, its account, and available features | none |

### Prompts

Expand Down
14 changes: 13 additions & 1 deletion docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,13 @@
"api-docs/api-reference/custom-fields/delete-a-custom-field"
]
},
{
"group": "Account",
"icon": "id-badge",
"pages": [
"api-docs/api-reference/account/get-the-current-credential"
]
},
{
"group": "Shipping Lines",
"icon": "ship",
Expand Down Expand Up @@ -474,6 +481,10 @@
"sdk/reference/types/models/index",
"sdk/reference/types/models/interfaces/Container",
"sdk/reference/types/models/interfaces/ContainerRoute",
"sdk/reference/types/models/interfaces/CurrentAccount",
"sdk/reference/types/models/interfaces/CurrentCredential",
"sdk/reference/types/models/interfaces/CurrentUser",
"sdk/reference/types/models/interfaces/FeatureAvailability",
"sdk/reference/types/models/interfaces/PaginatedResult",
"sdk/reference/types/models/interfaces/PaginationLinks",
"sdk/reference/types/models/interfaces/RouteCoordinates",
Expand All @@ -482,7 +493,8 @@
"sdk/reference/types/models/interfaces/RouteVesselPort",
"sdk/reference/types/models/interfaces/Shipment",
"sdk/reference/types/models/interfaces/ShippingLine",
"sdk/reference/types/models/interfaces/TrackingRequest"
"sdk/reference/types/models/interfaces/TrackingRequest",
"sdk/reference/types/models/interfaces/TrackingSlots"
]
},
{
Expand Down
23 changes: 23 additions & 0 deletions docs/mcp/home.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -537,6 +537,29 @@ List tracking requests with optional filters and pagination.

---

### `whoami`

Identify the caller: API key or signed-in user, the account the session is scoped to, and which gated features that credential can use there.

**Parameters**
- none

**Returns**
- `kind` (`api_key` or `user`), `channel` (`api`, `dashboard`, `mcp`, `askt49`), and the API key label when there is one
- `account` – company name, business type (`shipper`, `freight_forwarder`, `customs_broker`, `trucking_company`, …), plan, SCAC, location, and tracking-slot usage on free and trial plans
- `user` – email, name, role, job role, and job title for a signed-in user; `null` for an API key
- `other_accounts` – other accounts the signed-in user can switch to
- `features` – one status per gated feature: `available`, `requires_paid_plan`, `requires_user_credential`, or `not_enabled`

**Good for**
- "Which account am I connected to?"
- "Why does list_containers return nothing?" (a free-plan API key lacks `data_out_api`)
- Checking `routing_data`, `custom_fields`, or `stop_tracking` before relying on them

**REST equivalent**: [GET /me](/api-docs/api-reference/account/get-the-current-credential)

---

## Prompts reference

Prompts are pre-built workflows that guide the AI through multi-step analysis.
Expand Down
Loading
Loading