hook-delivery is a JSON Structure definition published by GitHub, describing 14 properties, of which 13 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/json-structure/github-app-api-hook-delivery-structure.json",
"name": "hook-delivery",
"description": "Delivery made by a webhook.",
"type": "object",
"properties": {
"id": {
"description": "Unique identifier of the delivery.",
"type": "int32",
"example": 42
},
"guid": {
"description": "Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event).",
"type": "string",
"example": "58474f00-b361-11eb-836d-0e4f3503ccbe"
},
"delivered_at": {
"description": "Time when the delivery was delivered.",
"type": "datetime",
"example": "2021-05-12T20:33:44Z"
},
"redelivery": {
"description": "Whether the delivery is a redelivery.",
"type": "boolean",
"example": false
},
"duration": {
"description": "Time spent delivering.",
"type": "double",
"example": 0.03
},
"status": {
"description": "Description of the status of the attempted delivery",
"type": "string",
"example": "failed to connect"
},
"status_code": {
"description": "Status code received when delivery was made.",
"type": "int32",
"example": 502
},
"event": {
"description": "The event that triggered the delivery.",
"type": "string",
"example": "issues"
},
"action": {
"description": "The type of activity for the event that triggered the delivery.",
"type": "string",
"example": "opened",
"nullable": true
},
"installation_id": {
"description": "The id of the GitHub App installation associated with this event.",
"type": "int32",
"example": 123,
"nullable": true
},
"repository_id": {
"description": "The id of the repository associated with this event.",
"type": "int32",
"example": 123,
"nullable": true
},
"url": {
"description": "The URL target of the delivery.",
"type": "string",
"example": "https://www.example.com"
},
"request": {
"type": "object",
"properties": {
"headers": {
"description": "The request headers sent with the webhook delivery.",
"type": "object",
"nullable": true,
"additionalProperties": true
},
"payload": {
"description": "The webhook payload.",
"type": "object",
"nullable": true,
"additionalProperties": true
}
},
"required": [
"headers",
"payload"
]
},
"response": {
"type": "object",
"properties": {
"headers": {
"description": "The response headers received when the delivery was made.",
"type": "object",
"nullable": true,
"additionalProperties": true
},
"payload": {
"description": "The response payload received.",
"type": "string",
"nullable": true,
"additionalProperties": true
}
},
"required": [
"headers",
"payload"
]
}
},
"required": [
"id",
"guid",
"delivered_at",
"redelivery",
"duration",
"status",
"status_code",
"event",
"action",
"installation_id",
"repository_id",
"request",
"response"
]
}