Grepr · Schema
UpdateIssueRequest
A partial update. An absent field is left unchanged, a present one is set, and an optional field named in `clear` is emptied. State, resolution and `duplicateOf` change only through transitions.
CompanyObservabilityTelemetryAIAutomation
Properties
| Name | Type | Description |
|---|---|---|
| clear | array | Optional fields to empty. |
| confidence | string | A new confidence. |
| description | string | A new description, replacing the old one. |
| entities | object | New entity tags, replacing the old ones; a person's change locks them. |
| evidence | array | New evidence, replacing the old list. |
| expiresAt | string | A new expiry. |
| fingerprint | string | A new fingerprint. |
| labels | array | New labels, replacing the old list; a person's additions and removals lock those labels. |
| links | array | New links, replacing the old list. |
| nextStep | string | A new next step. |
| priority | string | A new priority; a person's change locks it against agents. |
| revisitAt | string | A new revisit time. |
| teamIds | array | New teams; people only, adding or removing only teams they can edit issues of. |
| title | string | A new title. |
| version | integer | The version the change was made against; a stale one is rejected with 409 and the current issue. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/grepr/json-schema/grepr-update-issue-request-schema.json",
"title": "UpdateIssueRequest",
"description": "A partial update. An absent field is left unchanged, a present one is set, and an optional field named in `clear` is emptied. State, resolution and `duplicateOf` change only through transitions.",
"x-generated": "2026-10-29",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/grepr-openapi.json#/components/schemas/UpdateIssueRequest",
"properties": {
"clear": {
"description": "Optional fields to empty.",
"items": {
"description": "Optional fields to empty.",
"enum": [
"NEXT_STEP",
"REVISIT_AT",
"EXPIRES_AT",
"EVIDENCE",
"LINKS",
"LABELS",
"FINGERPRINT"
],
"type": "string"
},
"type": "array",
"uniqueItems": true
},
"confidence": {
"description": "A new confidence.",
"enum": [
"CONFIRMED",
"LIKELY",
"UNVERIFIED"
],
"type": "string"
},
"description": {
"description": "A new description, replacing the old one.",
"maxLength": 32768,
"minLength": 0,
"type": "string"
},
"entities": {
"additionalProperties": {
"description": "New entity tags, replacing the old ones; a person's change locks them.",
"type": "string"
},
"description": "New entity tags, replacing the old ones; a person's change locks them.",
"type": "object"
},
"evidence": {
"description": "New evidence, replacing the old list.",
"items": {
"$ref": "#/$defs/IssueEvidence"
},
"maxItems": 50,
"minItems": 0,
"type": "array"
},
"expiresAt": {
"description": "A new expiry.",
"format": "date-time",
"type": "string"
},
"fingerprint": {
"description": "A new fingerprint.",
"maxLength": 256,
"minLength": 0,
"type": "string"
},
"labels": {
"description": "New labels, replacing the old list; a person's additions and removals lock those labels.",
"items": {
"description": "New labels, replacing the old list; a person's additions and removals lock those labels.",
"type": "string"
},
"maxItems": 20,
"minItems": 0,
"type": "array"
},
"links": {
"description": "New links, replacing the old list.",
"items": {
"$ref": "#/$defs/IssueLink"
},
"maxItems": 50,
"minItems": 0,
"type": "array"
},
"nextStep": {
"description": "A new next step.",
"maxLength": 4096,
"minLength": 0,
"type": "string"
},
"priority": {
"description": "A new priority; a person's change locks it against agents.",
"enum": [
"P0",
"P1",
"P2",
"P3"
],
"type": "string"
},
"revisitAt": {
"description": "A new revisit time.",
"format": "date-time",
"type": "string"
},
"teamIds": {
"description": "New teams; people only, adding or removing only teams they can edit issues of.",
"items": {
"description": "New teams; people only, adding or removing only teams they can edit issues of.",
"type": "string"
},
"maxItems": 50,
"minItems": 0,
"type": "array"
},
"title": {
"description": "A new title.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"version": {
"description": "The version the change was made against; a stale one is rejected with 409 and the current issue.",
"format": "int32",
"type": "integer"
}
},
"required": [
"version"
],
"type": "object",
"$defs": {
"IssueEvidence": {
"description": "Something a person can open to check an issue's claim.",
"properties": {
"from": {
"description": "Start of a log query's time range, or null.",
"format": "date-time",
"type": "string"
},
"kind": {
"description": "What the evidence points at.",
"enum": [
"LOG_QUERY",
"EVENT",
"URL"
],
"type": "string"
},
"label": {
"description": "A short description of what it shows, or null.",
"maxLength": 200,
"minLength": 0,
"type": "string"
},
"target": {
"description": "The Grepr log query for LOG_QUERY, the event id for EVENT, or an http(s) URL for URL.",
"maxLength": 4096,
"minLength": 0,
"type": "string"
},
"to": {
"description": "End of a log query's time range, or null.",
"format": "date-time",
"type": "string"
}
},
"required": [
"kind",
"target"
],
"type": "object"
},
"IssueLink": {
"description": "A typed reference from an issue to something related. A link grants nothing: the linked page applies its own access checks. A link to an issue the reader can't see comes back with only its kind and `hidden`, so an issue reveals nothing about another team's.",
"properties": {
"hidden": {
"description": "True for a link to an issue the reader can't see. Set only in responses.",
"type": [
"boolean",
"null"
]
},
"kind": {
"description": "What the link points at.",
"enum": [
"PIPELINE",
"INVESTIGATION",
"MEMORY",
"AGENT_SUGGESTION",
"EXTERNAL",
"ISSUE"
],
"type": "string"
},
"label": {
"description": "A short description, or null.",
"maxLength": 200,
"minLength": 0,
"type": "string"
},
"target": {
"description": "Null only for a hidden issue link in a response.",
"maxLength": 4096,
"minLength": 0,
"type": [
"string",
"null"
]
}
},
"required": [
"kind"
],
"type": "object"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/grepr-update-issue-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.