curl --request POST \
--url https://api.pomerado.ai/v1/code/{id}/export-link \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.pomerado.ai/v1/code/{id}/export-link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pomerado.ai/v1/code/{id}/export-link"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text){
"download_url": "<string>",
"expires_at": "<string>",
"file_name": "<string>",
"size": 123,
"tool_name": "<string>",
"integration_name": "<string>",
"site_url": "<string>",
"editable": true,
"start_with": [
"<string>"
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}Get a download link for a tool's code
Get a short-lived link that downloads the code a tool your team built runs now, as a zip of its live version’s files, for a coding agent or anything else you give it to.
curl --request POST \
--url https://api.pomerado.ai/v1/code/{id}/export-link \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.pomerado.ai/v1/code/{id}/export-link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pomerado.ai/v1/code/{id}/export-link"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text){
"download_url": "<string>",
"expires_at": "<string>",
"file_name": "<string>",
"size": 123,
"tool_name": "<string>",
"integration_name": "<string>",
"site_url": "<string>",
"editable": true,
"start_with": [
"<string>"
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}Details
Details
- Business accounts only.
- download_url needs no sign-in. It downloads the zip once, and stops working 30 minutes after it was made, at expires_at. Until then anyone with the link can download the code, so share it only with whoever should read it.
- The zip is the one code.export answers. start_with names the files to read first.
- Each call makes a new link.
- Callers: an API key, an MCP OAuth token or a Dashboard session.
-
Permission:
tools:read. - Effect: Creates or changes something.
-
Errors:
business_account_required,not_found, and the errors any request can get.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
a tool ID: tool_ and 32 lowercase hex digits
"tool_0f8e2d1c4b3a49e8a7f6e5d4c3b2a190"
Response
The link to the zip
A link to the zip that needs no sign-in: one GET downloads it, before expires_at
a string to be decoded into a Date
A name to save it under, such as acme-travel-search-flights-v7.zip
The zip's size in bytes
The tool's name
The integration's name
The website's https origin, or null for an offline tool
Whether code.save_draft can save changes to the tool's draft: false for a public tool, whose code is read only
Where to start reading: the paths of your team's files the tool runs, such as src/tool.mjs