{
    "$schema": "http://json-schema.org/draft-04/hyper-schema#",
    "title": "{{ title }}",
    "type": "object",
    "properties": {
        "id": {
            "type": "string",
            "readOnly": true,
            "links": [
                {
                    "rel": "self",
                    "href": "/{{ type }}/{$}"
                }
            ]
        }
    },
    "required": [],
    "links": [
        {
            "rel": "delete",
            "method": "DELETE",
            "href": "/{{ type }}/{id}"
        },
        {
            "rel": "put",
            "method": "PUT",
            "href": "/{{ type }}/{id}"
        }
    ]
}

{
    "$schema": "http://json-schema.org/draft-04/hyper-schema#",
    "title": "{{ title }}",
    "type": "object",
    "properties": {
        "id": {
            "allOf": [
                {
                    "$ref": "#/definitions/id"
                }
            ],
            "readOnly": true
        }
    },
    "required": [],
    "definitions": {
        "id": {
            "type": "string",
            "links": [
                {
                    "rel": "self",
                    "href": "/{{ type }}/{$}"
                }
            ]
        }
    },
    "links": [
        {
            "rel": "delete",
            "method": "DELETE",
            "href": "/{{ type }}/{id}"
        },
        {
            "rel": "put",
            "method": "PUT",
            "href": "/{{ type }}/{id}"
        }
    ]
}

Update generic template id definition
Update generic template id definition
