Skip to content

Commit e5c92a6

Browse files
authored
Merge branch 'main' into PORTN-3665-change-real-time-and-scheduled
2 parents d79a120 + 3300e33 commit e5c92a6

File tree

76 files changed

+5189
-130
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+5189
-130
lines changed

.github/workflows/claude-pr-reviewer.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
- name: Check for changed files
2525
id: changed-files
26-
uses: tj-actions/changed-files@v46
26+
uses: tj-actions/changed-files@v47
2727
with:
2828
files: |
2929
docs/**

docs/ai-interfaces/ai-agents/interact-with-ai-agents.md

Lines changed: 79 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,8 @@ const eventSource = new EventSource(apiUrl);
153153
eventSource.addEventListener('done', (event) => {
154154
const data = JSON.parse(event.data);
155155

156-
if (data.quotaUsage) {
157-
const { remainingRequests, remainingTokens, remainingTimeMs } = data.quotaUsage;
156+
if (data.rateLimitUsage) {
157+
const { remainingRequests, remainingTokens, remainingTimeMs } = data.rateLimitUsage;
158158

159159
// Check if quota is running low
160160
if (remainingRequests < 10 || remainingTokens < 10000) {
@@ -214,11 +214,19 @@ data: Your final answer from the agent.
214214
215215
event: done
216216
data: {
217-
"maxRequests": 200,
218-
"remainingRequests": 193,
219-
"maxTokens": 200000,
220-
"remainingTokens": 179910,
221-
"remainingTimeMs": 903
217+
"rateLimitUsage": {
218+
"maxRequests": 200,
219+
"remainingRequests": 193,
220+
"maxTokens": 200000,
221+
"remainingTokens": 179910,
222+
"remainingTimeMs": 903
223+
},
224+
"monthlyQuotaUsage": {
225+
"monthlyLimit": 20,
226+
"remainingQuota": 19,
227+
"month": "2025-09",
228+
"remainingTimeMs": 1766899073
229+
}
222230
}
223231
```
224232

@@ -283,12 +291,18 @@ Signals that the agent has finished processing and the response stream is comple
283291

284292
```json showLineNumbers
285293
{
286-
"quotaUsage": {
294+
"rateLimitUsage": {
287295
"maxRequests": 200,
288296
"remainingRequests": 193,
289297
"maxTokens": 200000,
290298
"remainingTokens": 179910,
291299
"remainingTimeMs": 903
300+
},
301+
"monthlyQuotaUsage": {
302+
"monthlyLimit": 20,
303+
"remainingQuota": 19,
304+
"month": "2025-09",
305+
"remainingTimeMs": 1766899073
292306
}
293307
}
294308
```
@@ -395,19 +409,40 @@ We limit this data storage strictly to these purposes. You can contact us to opt
395409

396410
## Limits
397411

398-
Port applies limits to AI agent interactions to ensure fair usage across all customers:
412+
Port applies two different types of limits to AI agent interactions to ensure fair usage across all customers:
413+
414+
### Rate limits
415+
- **Query limit**: ~40 queries per hour
416+
- **Token usage limit**: 800,000 tokens per hour
417+
- These limits reset hourly
418+
419+
### Monthly quota
420+
- **Default quota**: 20 AI invocations per month
421+
- Each invocation of Port AI counts as one request against your quota
422+
- Quota resets monthly
399423

400-
- **Query limit**: ~40 queries per hour.
401-
- **Token usage limit**: 800,000 tokens per hour.
402424

403-
You can view your quota limits are available in the API response.
404425

405426
:::caution Usage limits
406427
Usage limits may change without prior notice. Once a limit is reached, you will need to wait until it resets.
407428
If you attempt to interact with an agent after reaching a limit, you will receive an error message indicating that the limit has been exceeded.
408429
The query limit is estimated and depends on the actual token usage.
409430
:::
410431

432+
### Monitor your usage
433+
434+
You can monitor your current usage in several ways:
435+
436+
#### Rate limits
437+
- Check the final `done` event in streaming responses for remaining requests, tokens, and reset time
438+
439+
#### Monthly quota
440+
You can monitor your current monthly quota usage by making a GET request to the `/v1/quota/ai-invocations` endpoint
441+
442+
:::tip Proactive quota monitoring
443+
Check your monthly quota before making multiple AI agent requests to avoid hitting limits. When `remainingQuota` is low, consider implementing rate limiting or queuing requests until the monthly quota resets. Note that you may also encounter hourly rate limits, which are separate from this monthly quota.
444+
:::
445+
411446
## Common errors
412447

413448
Here are some common errors you might encounter when working with AI agents and how to resolve them:
@@ -513,7 +548,38 @@ Port applies the following limits to AI agent interactions:
513548
- **Query limit**: ~40 queries per hour
514549
- **Token usage limit**: 800,000 tokens per hour
515550

516-
You can monitor your current usage in the final `done` event showing your remaining requests, tokens, and reset time.
551+
You can monitor your current usage in several ways:
552+
- Check the final `done` event in streaming responses for remaining requests, tokens, and reset time (hourly rate limits)
553+
- Make a GET request to `/v1/quota/ai-invocations` to see your monthly quota status
554+
555+
Note that Port has both hourly rate limits and monthly quotas. For detailed information, see the [Limits](#limits) section above.
556+
557+
</details>
558+
559+
<details>
560+
<summary><b>What happens when I reach a limit and what can I do? (Click to expand)</b></summary>
561+
562+
**What happens when you reach a limit:**
563+
- You are temporarily blocked from making new AI agent requests
564+
- You will receive an error message indicating which limit has been exceeded
565+
- Access resumes automatically when the limit resets
566+
567+
**What you can do:**
568+
569+
**For rate limits (hourly):**
570+
- Wait for the limits to reset (they reset every hour)
571+
- Monitor the `remainingTimeMs` field to know exactly when you can make requests again
572+
- The error message will indicate it's a rate limit issue
573+
574+
**For monthly quota:**
575+
- Wait for the monthly quota to reset at the beginning of the next month
576+
- Contact our support team to learn more about our plans and quota upgrades available for your organization
577+
- The error message will indicate it's a quota limit issue
578+
579+
**General recommendations:**
580+
- Implement rate limiting in your applications to avoid hitting limits
581+
- Monitor your usage proactively using the monitoring methods described above
582+
- Consider batching requests or optimizing your AI agent interactions for efficiency
517583

518584
</details>
519585

docs/ai-interfaces/port-mcp-server/overview-and-installation.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,13 @@ If you encounter errors:
195195
- **Permission issues**: You may need to run with appropriate permissions
196196
:::
197197

198+
:::warning VSCode action tool issue
199+
In some versions of VS Code, the MCP server might not start or return an error in the chat because of a configuration issue with the action related tools. To deal with it, [deselect](./available-tools#select-which-tools-to-use) the tools `create_action`, `update_action`, and `delete_action`.
200+
This is relevant for cases where you see an error like this one:
201+
```
202+
Failed to validate tool mcp_port_create_action: Error: tool parameters array type must have items. Please open a Github issue for the MCP server or extension which provides this tool
203+
```
204+
:::
198205

199206
**Step 1: Configure MCP Server Settings**
200207

docs/api-reference/approve-an-action-run.api.mdx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
id: approve-an-action-run
33
title: "Approve an action run"
4-
description: "This route allows you to approve or decline a request to execute an action that requires approval.<br/><br/>To learn more about manual approval for actions, check out the [documentation](https://docs.port.io/create-self-service-experiences/set-self-service-actions-rbac/#configure-manual-approval-for-actions)."
4+
description: "This route allows you to approve or decline a request to execute an"
55
sidebar_label: "Approve an action run"
66
hide_title: true
77
hide_table_of_contents: true
8-
api: eJztWNtu4zYQ/RWCfWgCxNEm3SejKOBcgAab7hputkARGAEtjW1uJFElKSdew//eGZK6OJadS1+yQPPgSCJneOZwOBeuuBUzw/u3fBBbqXI2KnPDx0c8ARNrWdA33uc3c2mYVqUFJtJUPRi2VCWziomi0GoBTGmWQJzKHCcwDf+UYCyNwyPETipnwi9g58K6GVKDCfIiPf51oqPf3M+NYikInbNMaRSc4KosE3kp0no2m+J6Xp85YvEc4ntG0+wc2G2i4jKD3AoaHh/MrS1MP4rwszkulLbHUkWxBmGhZyCd4o9eyBh68FiAlpDHYCIDdnMwLNbTExFHP8Uqn8pZqaHngfUqYD0EVs09POZHPFBxppIl7684ClqERo8oksrYgYy+GWJ5xQ2akgl6sssCkHc1+QaxRT2oHtFZCcbNQ+NK05pnrJb5DOdBXma0mxeX59dXny/xy2A4HH3565KP1082dVt4c88HrPWOG5hESDryhlgd/0T2TC4gZx7OMV/jEiJJJAmIdNiCPBWpAc8GbntCCIMN4zVJNQNWl4AfCqFFBhY0+WYHMVsGL07wZXHqzJQEH3nXS/yWox58XaAqsqu9lkO1PtqtvtJVCDtvVOkyv5MJf4p6+8wAkwnutpxK0ExNHWPhFKAO5AvPmcHzoaVdOjMn6Peg8XFMQ3g+CvQjv+WnH07o3+YSXz4hihf71KYPqXv6DfQRfmIOYT3vfWh7F1OTtIQCX+xLNFS0dGqy0qbQjNw2u52Xaeq3OG67cNeMBFL0nzbUiVIYWHK+6XC3bTQkSC92+YMb4d3sBzdiE+qmISQpHob7Z0CeQDKwXXEDI1gmcIQnlAisxJONAkaVOu42OGgdtyAPQtRvz69MawS67dgdyQbX1xS2P/9NsXGTHydCCHYlgHroWkwg3b8tmKzv2zOE1oICZpiJuKWFrGsRWqXMMqGXnQhEBy21+/nln3KyNzGhyhLz8FWy3x4yvINYl18KsUyVSF6BqHuXCIpO9/oTRnNHwgw2ImHt8gh0mcdzrXL5vftQHHHMfHPVHWXnIBKXFZ872aOvn++uLnbwMQn1yH4VVC3dufTy+IKgjrnjqguz/2vSWecuVs7XHJrK+UjUl2vJWbe/yQxRYLbbM6Uskj2jQf1rAkVQ+HKRrUjH6yC9QWRHdKnDUn3utwIDJvPxM7XXVuXgd+VjV11xAVNRppaNqi37j1UGChtb11sctFbd+SYDY/DkdMecJwZXevYbXln5cdvKAVaznln2IO3clWdEOWahpF25PQjDcmWx6C3z5F1T0Ui9zhvexkSg9uSXbWpHoQOkOMOwdbQKmzqhZ8AOUplJS99O/pBnh++azteR+HKbA3Gnp9vEUdNAljf0Jwo86RhSYr81rhH/2bBAzXum8K0e+RYeQp6pkid1bTG1ba576/NocRKF1jzCXGWilW/k1pFoRVrs96um02V6Xt0fiEJW1wecesbt0dI0E1qd3Z+EzhNe9Xc1gSj2CVpd6qBE7Fp+FyExuO7Tp3zHMlEyaq4ULh9FVvgCvaoIW53/JqPtlnaqHAZf3PMhgmaD4RU10KFL7vOT4w80t1DGZsJ5UQUx3Pg0NzrUNG7dLdQu+f/d0VvvjoKPUPUVFamQeav89D4drj2CEHf9O/3r11cUtWujQ84VnfNbvlpNhIGvOl2v6bO/KCGHT6QRk7S+GTni9+ib7asTVFQSJOffC6ElTe8W3ekOB6MQKQ7Z8zckO0ioTk++bIOq8Abj1+O6XHYQ/eC5B9K7IRWN8FbYpCPuJQZxDIXdO3fcijrDwc3577wpsTOVuEsj8cBdy+qRqsJvGdXN9G3FU5HPShdeuVfqbtNK2uZ2uLh34SI8kFmdXDyNI94S+iW7OkVWKx+M0CnqjXdDOyUCt9Vs2hq6zfsXimjDMQ==
8+
api: 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
99
sidebar_class_name: "patch api-method"
1010
info_path: api-reference/port-api
1111
custom_edit_url: null
@@ -36,7 +36,14 @@ import Heading from "@theme/Heading";
3636

3737

3838

39-
This route allows you to approve or decline a request to execute an action that requires approval.<br/><br/>To learn more about manual approval for actions, check out the [documentation](https://docs.port.io/create-self-service-experiences/set-self-service-actions-rbac/#configure-manual-approval-for-actions).
39+
This route allows you to approve or decline a request to execute an
40+
action that requires approval.<br/><br/>To learn more about manual
41+
approval for actions, check out the
42+
[documentation](https://docs.port.io/create-self-service-experiences/set-self-service-actions-rbac/#configure-manual-approval-for-actions).
43+
:::info Version parameter value
44+
Set the `version` parameter to `v2` for the latest version of the API.
45+
:::
46+
4047

4148
<Heading
4249
id={"request"}
@@ -47,7 +54,7 @@ This route allows you to approve or decline a request to execute an action that
4754
</Heading>
4855

4956
<ParamsDetails
50-
parameters={[{"schema":{"type":"string","enum":["v1","v2"]},"in":"query","name":"version","required":false},{"schema":{"type":"string"},"in":"path","name":"run_id","required":true,"description":"The identifier of the action run."}]}
57+
parameters={[{"schema":{"type":"string","enum":["v1","v2"]},"in":"query","name":"version","required":false,"description":"Specifies the API version to use. Please use `v2` for the latest version of the API."},{"schema":{"type":"string"},"in":"path","name":"run_id","required":true,"description":"The identifier of the action run."}]}
5158
>
5259

5360
</ParamsDetails>

docs/api-reference/get-a-webhook.api.mdx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
id: get-a-webhook
33
title: "Get a webhook"
4-
description: "This route allows you to fetch a specific webhook in your Port organization. You can also see it in the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.<br/><br/>To learn more about webhooks, check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/)."
4+
description: "This route allows you to fetch a specific webhook in your Port"
55
sidebar_label: "Get a webhook"
66
hide_title: true
77
hide_table_of_contents: true
8-
api: eJztVU1v00AQ/SurPVGpjVuppwghVQIhxKUqRQhFPWzWk3ip43V3ZxOK5f/OG38kpg0cQEgcuDj+mJl98+a9SaPZrKOeL/QnWhbe3+u7U51TtMHV7Hyl5/q2cFEFn5iUKUu/i+rRJ8VerYhtoYyKNVm3clbt+hLKVRIS1LUPrHxYm8p9M1Jtpj4j1ZoKlaJXkUg5lnAuSC1ywyiGREtR1WZNdy8K5jrOs8zU9WxNXKPgzPksErOr1jGTlLMh5UT51eRcY61PFc9eLkP2qrvcelWSCZXa+IBelmhphBxPlS3I3it514PxNm2o4g73AQhex9kIY5lcmZ/JkcCw4p0JdGaBqPTrzKbIfnPmKqZ16Ipkw1nZyUyf6toEsyGmIOQ3OuL4jdHzRvNjTWA9ckCHuj3VToZQGy6QVSEHTy4HMlBOAe8CPSQXKNdzDomeT49UqtxDAtX7LGFKugzUc9dNdGcqlrH6mgCYFMalW6ghkk3B8WOHcwkCcSr0Esjk80l7Ud9JNErWeKAovVyeX8jPj4he08qkktXNEIkWrEediiUWky6d7Qn7EiVhSk4dBB27vjzUiiuSI1JXkBSBLgrBh6NEbihGqOrIt3bK4kLqjnXQkclzJ3BMeT05vT+uldTL88vnXV4dyN05Ljq6gX6LIeTTSexMVJVntYJY83+aikPWr0l5qsDfY6LtuYVFCg8kGu7vXAMbzHW2vRjdFLPmUKPVItewHV2VQonowxJxo3XBwbGvKR4CJsr/IKT3PI/63/OGtPf0eLDmVQLgMOw7Pbi3gFeQ1XZuXvku3XEp8d2uurp+h1CB3VN2MTuXKdU+8sZ0cx+qvyUstnFp6SdMNwfx/F/af2VpDzNn+spZXRrMFlPqZNQM0lzo7QUCR4S4nU+WNTRVeHHoQjfN0kT6GMq2ldfYz0E2LG63JjizFHFAwbmLcp8f99Z04i9uBtueqD/b+T9pc9R7JWLfmjLJE27vof4f/pHaO0QPipcW+oAra6nmSeqz7SaO29v97ZtbxJoknE69dt95bbiR6kdhPTVhD0Gu4vujKU3TO7lt9/H9p59mDC3uGZAOsLO+A21yRho=
8+
api: eJztVk1v20YQ/SuL7SU2JNEKnAsRBDDQIggKFEbqoigkA16RQ3FrcpfZXUpxBf73vFlSEmUrPaSXAM2FJlfz8ebNzFvvZFBrL9OF/JNWpbWP8n4ic/KZ003Q1shU3pXaC2fbQEJVld168WRbEawoKGSlUMI3lOlCZ2LbhxDasIkTt9aFpbFurYz+R3G4mfgLvpkyCOWt8ERCB7YPJYlFrgKiwTMjvzSNWtP9qzKExqdJoppmtqbQIORM28RTCNqsfcI+08HnQthinFllmW1NmL1dueRdfNxZUZFyRtTWoZwVqtqj9hORlZQ9Cj4DnKVZ5DZrazIhQj9CwbGf7YGsWl3lU04KFEXYKkfTDJgqu06y1gdbT7UJtHYxSDIkSy5mAoDevU3wWJo0TeFoUJC4JVdr72ErHH1qtSNGADoAvfUEZOgGmbyxCDuJraiRRpRqg4LEQ21zQi7rHoR14kHltTYPaF9FJ20RJ11Zmhj/BTXclVwXBTlgiEG8UCYXzQEkWGvgBmCOYMZj0bfylLrEezt1K5UlqMH5KYJMA6naJ7Uy6PO0P45HP8U80+koyUVE+CE2F5PjSOVPQ8VG0GftQ6SO6xp6PumJGlEotrqqxIpAXmExLbnwQbnoeHn5m91QvQL++ZtQTsTrq9dvLi9nsTFLIyeyUU7VFIARq7KTHpNSK5nuZHhqCDvig0Mg2U2k5pVpVCjhZeCDL50jPRaEHM4GRLlMg2vp5a6RaI3+1KJbBy+eaibVUT/nkYWtQklg2zbcbhLoouywu56y1unwFHGu0FBkxXYzZeloEL28Z2uEbPBBnmu5vprzn1NEP1Oh2iqIj4MlSsgs4pjAttjKSmf9aP/t2WFMTuMYXdB9eGgLnnD2cC2w/wS6yDnrzhJZk/eYjDO/dWMWFxx3HwcVqTzXDEdVt6PsfbqOXa+vrl9WeXMkd6tDGekG+g2akI87sVVeGBtEgRnLv2sqjl7/TsrzCfw2JrqeW6xIaYFEQqnj1mANUpls5nvd88nuGKOTPK5us9+q1lWwPgq+3ossODj3a+uPBqPJ/51J73nez/+BN7j9Sk/H1bxpAdgNMiiH7S2xK/Dq4jYXNrrrULF9lJib2w8wZdg9ZfPZFXepsT5Azdh8iP6eoEf7+0U+Y3p3HJ4fV+yPK/Z/f8UOGxroc0iaSmETsVNx6XeDkCzkZg7D/TDhNR1drVCA0rKeLuRutwJdf7iq6/gYt6nj+xCvG+W0WvEqQ29y7fk9P6+E4/189XEQ2Qvx327or5S5VyfD0rRRVctfeH2EVp38/9Ddw3rQJy6hN7jJMmrCyPXFXcT6eBDn97/cwVa1zOlYGR+jMg4vHP0srOeS2UPgJ6v0WZfdrtfdrjvY9z991WMo8cAAV4Ab5guQL4HP
99
sidebar_class_name: "get api-method"
1010
info_path: api-reference/port-api
1111
custom_edit_url: null
@@ -36,7 +36,19 @@ import Heading from "@theme/Heading";
3636

3737

3838

39-
This route allows you to fetch a specific webhook in your Port organization. You can also see it in the [data sources page](https://app.getport.io/settings/data-sources) of your Port account.<br/><br/>To learn more about webhooks, check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).
39+
This route allows you to fetch a specific webhook in your Port
40+
organization. You can also see it in the [data sources
41+
page](https://app.getport.io/settings/data-sources) of your Port
42+
account.<br/><br/>To learn more about webhooks, check out the
43+
[documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/). <br></br>
44+
:::warning Permission requirements
45+
To use this endpoint, you must have a `moderator` or `admin` role in your Port organization.
46+
47+
To learn more about the different roles and permissions, please refer to the [documentation](/sso-rbac/users-and-teams/manage-users-teams#roles--permissions).
48+
49+
If you already have an existing Port account, this requirement will be enforced starting **November 15th, 2025**.
50+
:::
51+
4052

4153
<Heading
4254
id={"request"}

0 commit comments

Comments
 (0)