Server definition
- Hash
- sha256:01853e7a5efaf3a49626432d389a45a1a3d492f3acbf170695f6e618b8d24034
- What it is
- What a remote MCP server returned when asked what it offers: 14 tools
The blob, as servednamed by its sha256
{
"instructions": "# Image asset workflows with Imagelato\n\nThis skill drives the Imagelato MCP connector. The user must connect Imagelato\nand authorize an account with access to an organization. If authorization\nfails, ask them to connect or reauthorize Imagelato; never request an API key\nor token in chat.\n\n## Media boundary\n\nImagelato's product API uses deterministic resizing and reformatting, with no\nAI model. The public connector does not upload, process, transform or generate\nimages. It reviews safe asset metadata, manages projects/presets and deletes\none exact processed batch. Do not imply that creating or updating a preset\ncreates media.\n\nThere is no arbitrary object-bucket tool. If asked to discover every stored\nobject, explain that project/batch reads are the supported tenant-safe\nworkflow.\n\n## Start with identifiers\n\nDo not guess ids.\n\n- Use `list_projects` before project-specific work. It returns project ids and\n names.\n- Use `list_templates` before `get_template` or `update_template`.\n- Use `list_batches` before `get_batch` or `delete_batch`.\n- `add_template` requires the exact project id returned by\n `list_projects`; a project name is deliberately refused.\n\nAll identifiers are at most 200 characters and names at most 120. Lists return\n25 rows by default, never more than 100, and provide an opaque cursor. Pass the\ncursor unchanged. Do not decode, construct or modify it.\n\n## Available tools\n\nReading:\n\n| Tool | Use it when someone asks… |\n| ---------------------------- | --------------------------------------------------------------------------------- |\n| `list_projects` | which projects they have; also resolves the project id other tools need |\n| `get_project` | about one project by exact id or name |\n| `show_project_overview` | for a quick card of one project and at most eight of its newest processed batches |\n| `list_batches` | which batches exist, optionally in one project (storage order, not newest first) |\n| `get_batch` | for one processed image's resized or converted versions (at most 20 variants) |\n| `list_templates` | which resize and format presets exist, optionally in one project |\n| `get_template` | about one preset by exact id or name |\n| `list_webhook_subscriptions` | whether webhooks are working, failing or disabled |\n| `list_team_members` | who is on the team and their roles |\n\nWriting:\n\n| Tool | Use it when the user wants… |\n| ----------------- | ---------------------------------------------------------------- |\n| `add_project` | a new named project |\n| `add_template` | a new resize and format preset in an exact project |\n| `update_template` | to rename a preset or replace its formats or widths |\n| `delete_batch` | one exact batch and every file it produced deleted, with no undo |\n\n## Presets\n\nA preset holds future output formats and pixel widths. Supported format values\nare exactly:\n\n`jpg` · `png` · `webp` · `gif` · `svg`\n\nA preset has one to five formats and one to ten width strings. Each width is\nfrom 1 to 9999 pixels. `add_template` defaults to formats `jpg, webp` and\nwidths `512, 256, 128, 64` only when the user accepts those defaults.\n\nBefore `add_template`, show the exact project, name, formats and widths.\nCreation is not idempotent: repeating it can create a duplicate.\n\nBefore `update_template`, call `get_template`, show the current and replacement\nvalues, and confirm the change. Identical replacements are idempotent. A\ntemplate cannot be moved to another project.\n\n## Batch inspection and deletion\n\n`get_batch` can show a batch-detail card in MCP App hosts. It returns no more\nthan 20 variants and only first-party `www.imagelato.com/images/` URLs without\nquery strings. Do not treat the displayed count as every object ever stored.\n\n`list_batches` returns batches in storage order, not newest first. For the\nmost recent processing activity, use `show_project_overview`, which shows the\neight most recently created batches of one project.\n\n`delete_batch` permanently removes the database row, original, primary output\nand resized/reformatted files, then fires a `batch.deleted` webhook. Always:\n\n1. call `get_batch` on the exact candidate;\n2. describe what will be removed;\n3. ask for confirmation for that exact batch id; and\n4. invoke one deletion only.\n\nDeletion is idempotent when the record is already absent, but it is not\nrecoverable. Never turn a broad request into a loop. Ask the user to choose one\nrecord or use `list_batches` to narrow the set.\n\n## Privacy-aware audits\n\n`list_webhook_subscriptions` intentionally exposes only HTTPS origins, not\nfull paths, queries or signing secrets. `list_team_members` exposes only\ndisplay names and roles, not emails, phones or user ids. If asked for excluded\nfields, explain the boundary and offer the safe summary; do not try another\ntool to reconstruct them.\n\nFor a routine delivery audit:\n\n1. `list_projects` to resolve the project;\n2. `show_project_overview` for recent processing activity;\n3. `list_templates` to check configured formats and widths;\n4. `list_webhook_subscriptions` to find inactive or repeatedly failing\n endpoints; and\n5. `get_batch` only for a specifically relevant processed item.\n\nWhen an interactive card renders, avoid repeating every field. Explain the\nimportant gap, anomaly or next action.\n\n## Project sidebar\n\nUse `open_imagelato` when asked to open Imagelato or browse projects. The sidebar lists up to 100 owned projects and supports recent batches, bounded first-party variants and paginated resize presets. Selecting a project, batch or preset supplies context to the assistant. The sidebar itself is read-only; any separate mutation still requires the exact confirmation described above.\n",
"tools": [
{
"description": "Use this when someone wants a new Imagelato project to organize images and resize presets. Returns the new project's id, name and creation time and fires the project.created webhook. Each call creates another project. Not for adding a resize preset.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"name": {
"description": "Project name, from 1 to 120 characters",
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "add_project",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"project": {
"additionalProperties": false,
"properties": {
"created": {
"anyOf": [
{
"maxLength": 100,
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"maxLength": 120,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"created"
],
"type": "object"
},
"status": {
"const": "created",
"type": "string"
}
},
"required": [
"status",
"project"
],
"type": "object"
}
},
{
"description": "Use this when someone wants a new preset that resizes and converts images to set widths and formats in a project. Returns the new template; formats default to jpg and webp and widths to 512, 256, 128 and 64 pixels. Each call creates another preset. Not for editing a preset.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"formats": {
"description": "Output formats, one to five of jpg, png, webp, gif or svg; defaults to jpg and webp",
"items": {
"enum": [
"jpg",
"png",
"webp",
"gif",
"svg"
],
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"type": "array"
},
"name": {
"description": "Template name, from 1 to 120 characters",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"projectId": {
"description": "Exact project id",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"sizes": {
"description": "Output widths in pixels, one to ten strings from 1 to 9999; defaults to 512, 256, 128 and 64",
"items": {
"description": "Positive pixel width from 1 to 9999, written as a string",
"pattern": "^[1-9]\\d{0,3}$",
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
}
},
"required": [
"name",
"projectId"
],
"type": "object"
},
"name": "add_template",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"status": {
"enum": [
"created",
"project-not-found",
"project-id-mismatch"
],
"type": "string"
},
"template": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"created": {
"anyOf": [
{
"maxLength": 100,
"type": "string"
},
{
"type": "null"
}
]
},
"edited": {
"$ref": "#/properties/template/anyOf/0/properties/created"
},
"formats": {
"items": {
"maxLength": 20,
"type": "string"
},
"maxItems": 5,
"type": "array"
},
"id": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"maxLength": 120,
"type": "string"
},
{
"type": "null"
}
]
},
"projectId": {
"$ref": "#/properties/template/anyOf/0/properties/id"
},
"sizes": {
"items": {
"maxLength": 20,
"type": "string"
},
"maxItems": 10,
"type": "array"
}
},
"required": [
"id",
"name",
"projectId",
"formats",
"sizes",
"created",
"edited"
],
"type": "object"
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"template"
],
"type": "object"
}
},
{
"description": "Use this when someone wants one processed image batch deleted for good. Returns the deleted batch's id, slug and project. Its original, main output and every resized or converted file are erased and the batch.deleted webhook fires, with no undo. Not for removing a resize preset.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"batchId": {
"description": "Exact batch id to permanently delete; obtain it",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"batchId"
],
"type": "object"
},
"name": "delete_batch",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"batch": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"id": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
]
},
"projectId": {
"$ref": "#/properties/batch/anyOf/0/properties/id"
},
"slug": {
"$ref": "#/properties/batch/anyOf/0/properties/id"
}
},
"required": [
"id",
"slug",
"projectId"
],
"type": "object"
},
{
"type": "null"
}
]
},
"status": {
"enum": [
"deleted",
"not-found"
],
"type": "string"
}
},
"required": [
"status",
"batch"
],
"type": "object"
}
},
{
"description": "Use this when someone asks for the resized or converted versions of one processed image, or their links. Returns the batch's project, template, main URL, formats and sizes plus up to 20 variants with format, size and first-party URL. Not for resizing or converting a new image.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"batchId": {
"description": "Exact batch id",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"batchId"
],
"type": "object"
},
"name": "get_batch",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"batch": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"created": {
"anyOf": [
{
"maxLength": 100,
"type": "string"
},
{
"type": "null"
}
]
},
"edited": {
"$ref": "#/properties/batch/anyOf/0/properties/created"
},
"format": {
"anyOf": [
{
"maxLength": 20,
"type": "string"
},
{
"type": "null"
}
]
},
"formats": {
"items": {
"maxLength": 20,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"id": {
"maxLength": 200,
"type": "string"
},
"projectId": {
"$ref": "#/properties/batch/anyOf/0/properties/slug"
},
"size": {
"$ref": "#/properties/batch/anyOf/0/properties/format"
},
"sizes": {
"items": {
"maxLength": 20,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"slug": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
]
},
"templateId": {
"$ref": "#/properties/batch/anyOf/0/properties/slug"
},
"url": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"variants": {
"items": {
"additionalProperties": false,
"properties": {
"format": {
"$ref": "#/properties/batch/anyOf/0/properties/format"
},
"size": {
"$ref": "#/properties/batch/anyOf/0/properties/format"
},
"url": {
"$ref": "#/properties/batch/anyOf/0/properties/url"
}
},
"required": [
"format",
"size",
"url"
],
"type": "object"
},
"maxItems": 20,
"type": "array"
}
},
"required": [
"id",
"slug",
"projectId",
"templateId",
"url",
"format",
"size",
"formats",
"sizes",
"created",
"edited",
"variants"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "Allowlisted batch metadata; asset URLs are kept only on https://www.imagelato.com/images/. Null when not found."
},
"status": {
"enum": [
"found",
"not-found"
],
"type": "string"
}
},
"required": [
"status",
"batch"
],
"type": "object"
}
},
{
"description": "Use this when someone asks about one Imagelato project by name or id. Returns its id, name, logo URL and created and edited times, or not-found. Not for a quick look at its latest processed images.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"projectIdOrName": {
"description": "Exact project id or name",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"projectIdOrName"
],
"type": "object"
},
"name": "get_project",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"project": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"created": {
"anyOf": [
{
"maxLength": 100,
"type": "string"
},
{
"type": "null"
}
]
},
"edited": {
"$ref": "#/properties/project/anyOf/0/properties/created"
},
"id": {
"maxLength": 200,
"type": "string"
},
"logo": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"maxLength": 120,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"logo",
"created",
"edited"
],
"type": "object"
},
{
"type": "null"
}
]
},
"status": {
"enum": [
"found",
"not-found"
],
"type": "string"
}
},
"required": [
"status",
"project"
],
"type": "object"
}
},
{
"description": "Use this when someone asks about one resize and format preset by name or id. Returns its project, output formats, pixel widths and created and edited times, or not-found. Not for changing it.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"templateIdOrName": {
"description": "Exact template id or name",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"templateIdOrName"
],
"type": "object"
},
"name": "get_template",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"status": {
"enum": [
"found",
"not-found"
],
"type": "string"
},
"template": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"created": {
"anyOf": [
{
"maxLength": 100,
"type": "string"
},
{
"type": "null"
}
]
},
"edited": {
"$ref": "#/properties/template/anyOf/0/properties/created"
},
"formats": {
"items": {
"maxLength": 20,
"type": "string"
},
"maxItems": 5,
"type": "array"
},
"id": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"maxLength": 120,
"type": "string"
},
{
"type": "null"
}
]
},
"projectId": {
"$ref": "#/properties/template/anyOf/0/properties/id"
},
"sizes": {
"items": {
"maxLength": 20,
"type": "string"
},
"maxItems": 10,
"type": "array"
}
},
"required": [
"id",
"name",
"projectId",
"formats",
"sizes",
"created",
"edited"
],
"type": "object"
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"template"
],
"type": "object"
}
},
{
"description": "Use this when someone asks which images a project has processed, or which resized and converted batches exist. Returns each batch's id, slug, output format and template id, 25 per page by default. Not for one batch's variant files and links.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cursor": {
"description": "The nextCursor of the previous page with the same filters; absent for the first page",
"maxLength": 1024,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"limit": {
"description": "Results per page, from 1 to 100; defaults to 25",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"projectId": {
"description": "Only batches in this project; every project when absent",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"name": "list_batches",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"additionalProperties": false,
"properties": {
"format": {
"anyOf": [
{
"maxLength": 20,
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
]
},
"slug": {
"$ref": "#/properties/items/items/properties/id"
},
"templateId": {
"$ref": "#/properties/items/items/properties/id"
}
},
"required": [
"id",
"slug",
"format",
"templateId"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"nextCursor": {
"anyOf": [
{
"maxLength": 1024,
"type": "string"
},
{
"type": "null"
}
],
"description": "Cursor for the next page; null on the last page"
},
"total": {
"description": "Matching records across all pages",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"hasMore",
"nextCursor"
],
"type": "object"
}
},
{
"description": "Use this when someone asks which Imagelato projects they have, or a project's id is needed. Returns each project's id and name, 25 per page by default. Not for a project's processed images.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cursor": {
"description": "The nextCursor of the previous page with the same filters; absent for the first page",
"maxLength": 1024,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"limit": {
"description": "Results per page, from 1 to 100; defaults to 25",
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "list_projects",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"maxLength": 120,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"nextCursor": {
"anyOf": [
{
"maxLength": 1024,
"type": "string"
},
{
"type": "null"
}
],
"description": "Cursor for the next page; null on the last page"
},
"total": {
"description": "Matching records across all pages",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"hasMore",
"nextCursor"
],
"type": "object"
}
},
{
"description": "Use this when someone asks who is on their Imagelato team and what role each person has. Returns each member's display name and roles, 25 per page by default (no emails, phone numbers or user ids). Not for inviting or removing members.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cursor": {
"description": "The nextCursor of the previous page with the same filters; absent for the first page",
"maxLength": 1024,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"limit": {
"description": "Results per page, from 1 to 100; defaults to 25",
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "list_team_members",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"additionalProperties": false,
"description": "Display name and roles only. Email addresses, user ids, phone numbers, location, avatars, device provenance and ownership fields are excluded.",
"properties": {
"fullName": {
"maxLength": 160,
"type": "string"
},
"roles": {
"items": {
"maxLength": 60,
"type": "string"
},
"maxItems": 10,
"type": "array"
}
},
"required": [
"fullName",
"roles"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"nextCursor": {
"anyOf": [
{
"maxLength": 1024,
"type": "string"
},
{
"type": "null"
}
],
"description": "Cursor for the next page; null on the last page"
},
"total": {
"description": "Matching records across all pages",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"hasMore",
"nextCursor"
],
"type": "object"
}
},
{
"description": "Use this when someone asks which resize and format presets (templates) they have, optionally in one project. Returns each template's id, name, project, output formats and pixel widths, 25 per page by default. Not for the images processed with them.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cursor": {
"description": "The nextCursor of the previous page with the same filters; absent for the first page",
"maxLength": 1024,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"limit": {
"description": "Results per page, from 1 to 100; defaults to 25",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"projectId": {
"description": "Only presets in this project; every project when absent",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"name": "list_templates",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"additionalProperties": false,
"properties": {
"formats": {
"items": {
"maxLength": 20,
"type": "string"
},
"maxItems": 5,
"type": "array"
},
"id": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"maxLength": 120,
"type": "string"
},
{
"type": "null"
}
]
},
"projectId": {
"$ref": "#/properties/items/items/properties/id"
},
"sizes": {
"items": {
"maxLength": 20,
"type": "string"
},
"maxItems": 10,
"type": "array"
}
},
"required": [
"id",
"name",
"projectId",
"formats",
"sizes"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"nextCursor": {
"anyOf": [
{
"maxLength": 1024,
"type": "string"
},
{
"type": "null"
}
],
"description": "Cursor for the next page; null on the last page"
},
"total": {
"description": "Matching records across all pages",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"hasMore",
"nextCursor"
],
"type": "object"
}
},
{
"description": "Use this when someone asks whether their Imagelato webhooks are working, failing or disabled. Returns each endpoint's origin, subscribed events, active flag and consecutive failures, 25 per page by default; an endpoint is disabled after 20 failures in a row. Not for adding or editing a webhook.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cursor": {
"description": "The nextCursor of the previous page with the same filters; absent for the first page",
"maxLength": 1024,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"limit": {
"description": "Results per page, from 1 to 100; defaults to 25",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"projectId": {
"description": "Only webhooks of this project; every project when absent",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"name": "list_webhook_subscriptions",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"additionalProperties": false,
"description": "Delivery health for one endpoint origin; an endpoint is disabled after 20 consecutive failures. Full endpoint URLs, signing secrets and ownership fields are excluded.",
"properties": {
"active": {
"type": "boolean"
},
"allEvents": {
"type": "boolean"
},
"consecutiveFailures": {
"maximum": 999999,
"minimum": 0,
"type": "integer"
},
"edited": {
"anyOf": [
{
"maxLength": 100,
"type": "string"
},
{
"type": "null"
}
]
},
"events": {
"items": {
"maxLength": 80,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"origin": {
"maxLength": 300,
"type": "string"
}
},
"required": [
"origin",
"events",
"allEvents",
"active",
"consecutiveFailures",
"edited"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"nextCursor": {
"anyOf": [
{
"maxLength": 1024,
"type": "string"
},
{
"type": "null"
}
],
"description": "Cursor for the next page; null on the last page"
},
"total": {
"description": "Matching records across all pages",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"hasMore",
"nextCursor"
],
"type": "object"
}
},
{
"description": "Open Imagelato Image Optimization to browse owned projects, recent processed batches, first-party image variants and deterministic resize presets. The sidebar is read-only: it cannot upload, process or generate images, change presets or delete batches. Ownership data and credentials are excluded.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "open_imagelato",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"items": {
"items": {
"additionalProperties": false,
"properties": {
"defaultLocale": {
"anyOf": [
{
"maxLength": 32,
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
]
},
"locales": {
"items": {
"maxLength": 32,
"type": "string"
},
"maxItems": 100,
"type": "array"
},
"logoUrl": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"maxLength": 200,
"type": "string"
},
"subtitle": {
"maxLength": 300,
"type": "string"
}
},
"required": [
"id",
"name",
"subtitle",
"logoUrl",
"defaultLocale",
"locales"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"truncated"
],
"type": "object"
}
},
{
"description": "Use this when someone wants a quick visual overview of one Imagelato project and its latest processed images. Returns a card with the project's name, logo and dates plus its 8 most recently processed batches with format, size and first-party links. Not for every batch in the project.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"projectIdOrName": {
"description": "Exact project id or name, at most 200 characters",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"projectIdOrName"
],
"type": "object"
},
"name": "show_project_overview",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"batchCount": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"batchCountIsLowerBound": {
"type": "boolean"
},
"batches": {
"items": {
"additionalProperties": false,
"properties": {
"created": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"format": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"maxLength": 200,
"type": "string"
},
"size": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"slug": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"templateId": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"url": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"slug",
"url",
"format",
"size",
"templateId",
"created"
],
"type": "object"
},
"maxItems": 8,
"type": "array"
},
"project": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"created": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"edited": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"maxLength": 200,
"type": "string"
},
"logo": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"maxLength": 200,
"type": "string"
}
},
"required": [
"id",
"name",
"logo",
"created",
"edited"
],
"type": "object"
},
{
"type": "null"
}
]
}
},
"required": [
"project",
"batchCount",
"batchCountIsLowerBound",
"batches"
],
"type": "object"
}
},
{
"description": "Use this when someone wants to rename a resize preset or change its output formats or widths. Returns the updated template after replacing only the fields given, and fires the template.updated webhook; it cannot move the preset to another project. Not for creating a preset.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"formats": {
"description": "New output formats, one to five of jpg, png, webp, gif or svg; replaces the current list",
"items": {
"enum": [
"jpg",
"png",
"webp",
"gif",
"svg"
],
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"type": "array"
},
"name": {
"description": "New preset name, from 1 to 120 characters",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"sizes": {
"description": "New output widths in pixels, one to ten strings from 1 to 9999; replaces the current list",
"items": {
"description": "Positive pixel width from 1 to 9999, written as a string",
"pattern": "^[1-9]\\d{0,3}$",
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
},
"templateIdOrName": {
"description": "Exact template id or name",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"templateIdOrName"
],
"type": "object"
},
"name": "update_template",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"status": {
"enum": [
"updated",
"not-found"
],
"type": "string"
},
"template": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"created": {
"anyOf": [
{
"maxLength": 100,
"type": "string"
},
{
"type": "null"
}
]
},
"edited": {
"$ref": "#/properties/template/anyOf/0/properties/created"
},
"formats": {
"items": {
"maxLength": 20,
"type": "string"
},
"maxItems": 5,
"type": "array"
},
"id": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"maxLength": 120,
"type": "string"
},
{
"type": "null"
}
]
},
"projectId": {
"$ref": "#/properties/template/anyOf/0/properties/id"
},
"sizes": {
"items": {
"maxLength": 20,
"type": "string"
},
"maxItems": 10,
"type": "array"
}
},
"required": [
"id",
"name",
"projectId",
"formats",
"sizes",
"created",
"edited"
],
"type": "object"
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"template"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:01853e7a5efaf3a49626432d389a45a1a3d492f3acbf170695f6e618b8d24034 | sha256sum