{
    "openapi": "3.1.0",
    "info": {
        "title": "SendTruss API",
        "version": "1",
        "description": "The SendTruss API lets your backend create a workspace for each of your customers, keep their contacts in sync, register the events your platform emits, and send transactional email for them from your own domain.\n\nEvery request carries your API key as a bearer token. Every error answers with a stable `code` you can branch on, a `doc_url` that explains it, and the `request_id` to quote to us, which every response also carries in its `Request-Id` header.\n\nNew fields, new webhook types and new error codes are not breaking changes, so ignore the ones you don't know. Anything that would break a client gets a new version."
    },
    "servers": [
        {
            "url": "https://api.sendtruss.com/v1",
            "description": "Production"
        }
    ],
    "security": [
        {
            "http": []
        }
    ],
    "paths": {
        "/attribute-definitions": {
            "get": {
                "operationId": "attributeDefinitions.index",
                "description": "By key, 50 to a page. One set of definitions serves every workspace.",
                "summary": "List attribute definitions",
                "tags": [
                    "AttributeDefinitions"
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `AttributeDefinitionResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/AttributeDefinitionResource"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "attributeDefinitions.store",
                "description": "A contact can only carry attributes that have a definition. Every\nworkspace shares the definition, and a template reads its value as\n`{{ attributes.<key> }}`.",
                "summary": "Create an attribute definition",
                "tags": [
                    "AttributeDefinitions"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "description": "How the API and templates name the attribute: lowercase letters, digits and `_`, up to 64 characters.",
                                        "pattern": "^[a-z0-9_]{1,64}$"
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "A label for people.",
                                        "maxLength": 128
                                    },
                                    "type": {
                                        "description": "What its values are. A contact's value is checked and stored as this type.",
                                        "$ref": "#/components/schemas/AttributeType"
                                    },
                                    "required": {
                                        "type": "boolean",
                                        "description": "Whether a contact must have a value for it when it is created. Defaults to false."
                                    }
                                },
                                "required": [
                                    "key",
                                    "name",
                                    "type"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`AttributeDefinitionResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AttributeDefinitionResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Refused because of the resource's current state. The code says why.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "key_taken"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/attribute-definitions/{key}": {
            "patch": {
                "operationId": "attributeDefinitions.update",
                "description": "Only the name can change. The key, the type and whether it is required\nare fixed once the definition exists.",
                "summary": "Rename an attribute definition",
                "tags": [
                    "AttributeDefinitions"
                ],
                "parameters": [
                    {
                        "name": "key",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "A label for people.",
                                        "maxLength": 128
                                    }
                                },
                                "required": [
                                    "name"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`AttributeDefinitionResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AttributeDefinitionResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace}/contacts/{contact}/tags": {
            "post": {
                "operationId": "contactTags.store",
                "description": "By name. Tags the contact already has stay, and adding one twice changes\nnothing. A name new to the workspace creates the tag.",
                "summary": "Add tags to a contact",
                "tags": [
                    "ContactTags"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    },
                    {
                        "name": "contact",
                        "in": "path",
                        "required": true,
                        "description": "The contact: our id, or `ref:` plus your reference for the person, such as `ref:guest_998`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AttachTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ContactResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/ContactResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "tags"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace}/contacts/{contact}/tags/{key}": {
            "delete": {
                "operationId": "contactTags.destroy",
                "description": "By the tag's key. A key the contact doesn't have still answers 204.",
                "summary": "Remove a tag from a contact",
                "tags": [
                    "ContactTags"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    },
                    {
                        "name": "contact",
                        "in": "path",
                        "required": true,
                        "description": "The contact: our id, or `ref:` plus your reference for the person, such as `ref:guest_998`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    },
                    {
                        "name": "key",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content",
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace}/contacts": {
            "get": {
                "operationId": "contacts.index",
                "description": "Newest first, 50 to a page.",
                "summary": "List contacts",
                "tags": [
                    "Contacts"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "description": "Only contacts whose email address contains this text.",
                        "schema": {
                            "type": "string",
                            "maxLength": 255
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "description": "Only contacts in this marketing state.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "subscribed",
                                "unsubscribed",
                                "cleaned",
                                "pending"
                            ]
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Only contacts with the tag that has this key.",
                        "schema": {
                            "type": "string",
                            "maxLength": 64
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `ContactResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "allOf": [
                                                    {
                                                        "$ref": "#/components/schemas/ContactResource"
                                                    },
                                                    {
                                                        "type": "object",
                                                        "required": [
                                                            "tags"
                                                        ]
                                                    }
                                                ]
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace}/contacts/batch": {
            "post": {
                "operationId": "contacts.batch",
                "description": "Up to 500 contacts, each by your reference and with the same fields as a\nsingle upsert. Each one is written or refused on its own, so the answer is\n200 with one result per contact, in the order you sent them; a refused one\ncarries its own `code`, `message` and `doc_url`.",
                "summary": "Create or update contacts in a batch",
                "tags": [
                    "Contacts"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "contacts": {
                                        "type": "array",
                                        "description": "The contacts, each with its `reference` and the fields of a single upsert.",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "reference": {
                                                    "type": "string"
                                                },
                                                "email": {
                                                    "type": "string"
                                                },
                                                "attributes": {
                                                    "type": "object",
                                                    "additionalProperties": {
                                                        "type": [
                                                            "string",
                                                            "number",
                                                            "boolean",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "tags": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                },
                                                "locale": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "marketing": {
                                                    "type": "object",
                                                    "properties": {
                                                        "state": {
                                                            "type": "string",
                                                            "enum": [
                                                                "subscribed",
                                                                "unsubscribed"
                                                            ]
                                                        },
                                                        "at": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "state",
                                                        "at"
                                                    ]
                                                },
                                                "pixel_consent_at": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "reference"
                                            ]
                                        }
                                    }
                                },
                                "required": [
                                    "contacts"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "One result per contact, in the order you sent them: `created` or `updated` with its id, or `refused` with the code, message and `doc_url` a single upsert would answer with.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "reference": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    },
                                                    "result": {
                                                        "type": "string",
                                                        "enum": [
                                                            "created",
                                                            "updated",
                                                            "refused"
                                                        ]
                                                    },
                                                    "id": {
                                                        "type": "string"
                                                    },
                                                    "code": {
                                                        "type": "string"
                                                    },
                                                    "message": {
                                                        "type": "string"
                                                    },
                                                    "errors": {
                                                        "type": "object",
                                                        "additionalProperties": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    },
                                                    "contact": {
                                                        "type": "string"
                                                    },
                                                    "doc_url": {
                                                        "type": "string"
                                                    }
                                                },
                                                "required": [
                                                    "reference",
                                                    "result"
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace}/contacts/{contact}": {
            "get": {
                "operationId": "contacts.show",
                "summary": "Get a contact",
                "tags": [
                    "Contacts"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    },
                    {
                        "name": "contact",
                        "in": "path",
                        "required": true,
                        "description": "The contact: our id, or `ref:` plus your reference for the person, such as `ref:guest_998`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`ContactResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/ContactResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "tags"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "operationId": "contacts.upsert",
                "description": "Address the contact as `ref:` plus your own id for the person: it is\ncreated if the reference is new (201) and updated if not (200). By our id\nit only updates, and an unknown id is a 404. A field you leave out is left\nas it is, so a sync can send only what changed.",
                "summary": "Create or update a contact",
                "tags": [
                    "Contacts"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    },
                    {
                        "name": "contact",
                        "in": "path",
                        "required": true,
                        "description": "The contact: our id, or `ref:` plus your reference for the person, such as `ref:guest_998`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "The contact's email address, unique in the workspace. Required when the contact is created."
                                    },
                                    "attributes": {
                                        "type": "object",
                                        "description": "Values by attribute definition key. Only the keys you send change, `null` clears one, and a key with no definition is refused. A required attribute must be set when the contact is created and can't be cleared.",
                                        "additionalProperties": {
                                            "type": [
                                                "string",
                                                "number",
                                                "boolean",
                                                "null"
                                            ]
                                        }
                                    },
                                    "tags": {
                                        "type": "array",
                                        "description": "The contact's whole set of tags by name, at most 50. It replaces the tags the contact had; leave it out to keep them.",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "locale": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "description": "A language tag such as `en` or `pt-BR`, which picks the translation a template sends."
                                    },
                                    "marketing": {
                                        "type": "object",
                                        "description": "Marketing consent: `subscribed` or `unsubscribed`, and `at`, the time the person gave or withdrew it, no later than now. A contact you never send it for gets no marketing email. A `subscribed` older than the contact's latest opt-out is refused.",
                                        "properties": {
                                            "state": {
                                                "type": "string",
                                                "enum": [
                                                    "subscribed",
                                                    "unsubscribed"
                                                ]
                                            },
                                            "at": {
                                                "type": "string"
                                            }
                                        },
                                        "required": [
                                            "state",
                                            "at"
                                        ]
                                    },
                                    "pixel_consent_at": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "format": "date-time",
                                        "description": "When the person agreed to open tracking, or `null` to withdraw it."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Refused because of the resource's current state. The code says why.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                                },
                                                "code": {
                                                    "type": "string",
                                                    "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                                    "enum": [
                                                        "email_taken"
                                                    ]
                                                },
                                                "contact": {
                                                    "type": "string",
                                                    "description": "The contact in this workspace that already has the address: `ref:` plus its reference, or its id when it has none."
                                                },
                                                "doc_url": {
                                                    "type": "string",
                                                    "format": "uri",
                                                    "description": "The entry on our errors page that explains this code."
                                                },
                                                "request_id": {
                                                    "type": "string",
                                                    "format": "uuid",
                                                    "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                                }
                                            },
                                            "required": [
                                                "message",
                                                "code",
                                                "contact",
                                                "doc_url",
                                                "request_id"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                                },
                                                "code": {
                                                    "type": "string",
                                                    "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                                    "enum": [
                                                        "consent_older_than_opt_out"
                                                    ]
                                                },
                                                "doc_url": {
                                                    "type": "string",
                                                    "format": "uri",
                                                    "description": "The entry on our errors page that explains this code."
                                                },
                                                "request_id": {
                                                    "type": "string",
                                                    "format": "uuid",
                                                    "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                                }
                                            },
                                            "required": [
                                                "message",
                                                "code",
                                                "doc_url",
                                                "request_id"
                                            ]
                                        }
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "contacts.destroy",
                "description": "The contact and its tags are gone; the email already sent to it stays\nuntil it ages out. To forget the person entirely, request an erasure.",
                "summary": "Delete a contact",
                "tags": [
                    "Contacts"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    },
                    {
                        "name": "contact",
                        "in": "path",
                        "required": true,
                        "description": "The contact: our id, or `ref:` plus your reference for the person, such as `ref:guest_998`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content",
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/event-types/{name}/template": {
            "get": {
                "operationId": "defaultTemplates.show",
                "description": "Its current version. Every workspace sends it for the event type.",
                "summary": "Get an event type's default template",
                "tags": [
                    "DefaultTemplates"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`DefaultTemplateVersionResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/DefaultTemplateVersionResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "operationId": "defaultTemplates.update",
                "description": "Writes the next version, live in every workspace at once: 201 for the\nfirst version, 200 after. A save identical to the current version writes\nnothing and answers with it, so you can push your templates on every\ndeploy. Send `base_version` to have the save refused if someone saved a\nnewer version since you read it.",
                "summary": "Save an event type's default template",
                "tags": [
                    "DefaultTemplates"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "display_name": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 255
                                    },
                                    "reply_to": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "maxLength": 320
                                    },
                                    "locale": {
                                        "type": "string",
                                        "pattern": "^[A-Za-z]{2,3}(-[A-Za-z]{4})?(-([A-Za-z]{2}|[0-9]{3}))?(-([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*$",
                                        "maxLength": 35
                                    },
                                    "base_version": {
                                        "type": [
                                            "integer",
                                            "null"
                                        ],
                                        "description": "The version you started from. If someone has saved a newer one since, the save is refused with `version_conflict`.",
                                        "minimum": 1
                                    },
                                    "accept_outdated": {
                                        "type": "boolean",
                                        "description": "Save even though some translations were written for source text that has changed since."
                                    },
                                    "subject": {
                                        "type": "string",
                                        "description": "The subject line. It can carry merge tags such as `{{ event.reference }}`."
                                    },
                                    "from_local_part": {
                                        "type": "string",
                                        "description": "The part before the @ of the address the email comes from; your verified domain is the part after."
                                    },
                                    "composition": {
                                        "type": "object",
                                        "description": "The email's content in composition format version 3: its blocks in order, each with its id, type and attributes. The console's template editor writes the same format, so building the email there and reading it back is the quickest way to see one.",
                                        "properties": {
                                            "editorVersion": {
                                                "type": "integer",
                                                "const": 3
                                            },
                                            "target": {
                                                "type": "string",
                                                "const": "email"
                                            },
                                            "document": {
                                                "type": "object",
                                                "properties": {
                                                    "settings": {
                                                        "type": "object",
                                                        "additionalProperties": {}
                                                    },
                                                    "theme": {
                                                        "type": "object",
                                                        "additionalProperties": {}
                                                    },
                                                    "blocks": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "id": {
                                                                    "type": "string"
                                                                },
                                                                "type": {
                                                                    "type": "string"
                                                                },
                                                                "attrs": {
                                                                    "type": "object",
                                                                    "additionalProperties": {}
                                                                },
                                                                "children": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object",
                                                                        "additionalProperties": {}
                                                                    }
                                                                },
                                                                "columns": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object",
                                                                        "additionalProperties": {}
                                                                    }
                                                                }
                                                            },
                                                            "required": [
                                                                "id",
                                                                "type",
                                                                "attrs"
                                                            ]
                                                        }
                                                    }
                                                },
                                                "required": [
                                                    "blocks"
                                                ]
                                            }
                                        },
                                        "required": [
                                            "editorVersion",
                                            "target",
                                            "document"
                                        ]
                                    },
                                    "translations": {
                                        "type": "object",
                                        "description": "Translations by locale. Each maps a localizable text's field id to its translated `text` and the `source` text it was translated from, which tells us when the source has changed since.",
                                        "additionalProperties": {
                                            "type": "object",
                                            "additionalProperties": {
                                                "type": "object",
                                                "properties": {
                                                    "text": {
                                                        "type": "string"
                                                    },
                                                    "source": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "text"
                                                ]
                                            }
                                        }
                                    }
                                },
                                "required": [
                                    "subject",
                                    "from_local_part",
                                    "composition"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Refused because of the resource's current state. The code says why.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "version_conflict"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "The message again, under `base_version`.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed",
                                                "translations_outdated"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field at fault, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/event-types/{name}/template/preview": {
            "post": {
                "operationId": "defaultTemplates.preview",
                "description": "Renders the email a send would, without sending it: an unsaved `draft`,\na saved `version`, or the current version when you send neither. With\nno `payload` or `contact`, sample values fill in. A payload you send is\nchecked against the schema, and an optional field it leaves out renders\nits fallback, as in a send. The workspace name shows a sample name.",
                "summary": "Preview a template",
                "tags": [
                    "DefaultTemplates"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "version": {
                                        "type": "integer",
                                        "description": "A saved version to render instead of the current one. Send this or `draft`, not both.",
                                        "minimum": 1
                                    },
                                    "locale": {
                                        "type": "string",
                                        "description": "The translation to render, such as `pt-BR`.",
                                        "pattern": "^[A-Za-z]{2,3}(-[A-Za-z]{4})?(-([A-Za-z]{2}|[0-9]{3}))?(-([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*$",
                                        "maxLength": 35
                                    },
                                    "timezone": {
                                        "type": "string",
                                        "description": "The time zone dates render in. Defaults to `UTC`."
                                    },
                                    "draft": {
                                        "type": "object",
                                        "description": "An unsaved template to render, with the fields of a save. Send this or `version`, not both.",
                                        "properties": {
                                            "subject": {
                                                "type": "string"
                                            },
                                            "from_local_part": {
                                                "type": "string"
                                            },
                                            "display_name": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            },
                                            "reply_to": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            },
                                            "locale": {
                                                "type": "string"
                                            },
                                            "composition": {
                                                "type": "object",
                                                "properties": {
                                                    "editorVersion": {
                                                        "type": "integer",
                                                        "const": 3
                                                    },
                                                    "target": {
                                                        "type": "string",
                                                        "const": "email"
                                                    },
                                                    "document": {
                                                        "type": "object",
                                                        "properties": {
                                                            "settings": {
                                                                "type": "object",
                                                                "additionalProperties": {}
                                                            },
                                                            "theme": {
                                                                "type": "object",
                                                                "additionalProperties": {}
                                                            },
                                                            "blocks": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "id": {
                                                                            "type": "string"
                                                                        },
                                                                        "type": {
                                                                            "type": "string"
                                                                        },
                                                                        "attrs": {
                                                                            "type": "object",
                                                                            "additionalProperties": {}
                                                                        },
                                                                        "children": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "object",
                                                                                "additionalProperties": {}
                                                                            }
                                                                        },
                                                                        "columns": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "object",
                                                                                "additionalProperties": {}
                                                                            }
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "id",
                                                                        "type",
                                                                        "attrs"
                                                                    ]
                                                                }
                                                            }
                                                        },
                                                        "required": [
                                                            "blocks"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "editorVersion",
                                                    "target",
                                                    "document"
                                                ]
                                            },
                                            "translations": {
                                                "type": "object",
                                                "additionalProperties": {
                                                    "type": "object",
                                                    "additionalProperties": {
                                                        "type": "object",
                                                        "properties": {
                                                            "text": {
                                                                "type": "string"
                                                            },
                                                            "source": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            }
                                                        },
                                                        "required": [
                                                            "text"
                                                        ]
                                                    }
                                                }
                                            }
                                        },
                                        "required": [
                                            "subject",
                                            "from_local_part",
                                            "composition"
                                        ]
                                    },
                                    "payload": {
                                        "type": [
                                            "object",
                                            "null"
                                        ],
                                        "description": "The event's fields to render with, checked against its schema. Leave it out to render with sample values.",
                                        "additionalProperties": {}
                                    },
                                    "contact": {
                                        "type": [
                                            "object",
                                            "null"
                                        ],
                                        "description": "The contact to render for, as the contacts API has them.",
                                        "properties": {
                                            "email": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            },
                                            "attributes": {
                                                "type": [
                                                    "object",
                                                    "null"
                                                ],
                                                "additionalProperties": {}
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "subject": {
                                                    "type": "string"
                                                },
                                                "html": {
                                                    "type": "string"
                                                },
                                                "text": {
                                                    "type": "string"
                                                },
                                                "from_local_part": {
                                                    "type": "string"
                                                },
                                                "display_name": {
                                                    "type": "string"
                                                },
                                                "reply_to": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "fallen_back": {
                                                    "type": "array",
                                                    "items": {}
                                                }
                                            },
                                            "required": [
                                                "subject",
                                                "html",
                                                "text",
                                                "from_local_part",
                                                "display_name",
                                                "reply_to",
                                                "fallen_back"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/event-types/{name}/template/versions": {
            "get": {
                "operationId": "defaultTemplates.versions",
                "description": "Newest first, 50 to a page.",
                "summary": "List an event type's template versions",
                "tags": [
                    "DefaultTemplates"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `DefaultTemplateVersionSummaryResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/DefaultTemplateVersionSummaryResource"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/event-types/{name}/template/versions/{version}": {
            "get": {
                "operationId": "defaultTemplates.version",
                "summary": "Get a template version",
                "tags": [
                    "DefaultTemplates"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "version",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`DefaultTemplateVersionResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/DefaultTemplateVersionResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/event-types/{name}/template/versions/{version}/restore": {
            "post": {
                "operationId": "defaultTemplates.restore",
                "description": "Saves the old version's content as the next version, which every\nworkspace sends from then on. The history keeps every version.",
                "summary": "Restore a template version",
                "tags": [
                    "DefaultTemplates"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "version",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`DefaultTemplateVersionResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/DefaultTemplateVersionResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/webhook-endpoints": {
            "get": {
                "operationId": "endpoints.index",
                "description": "Oldest first. You can have up to 10.",
                "summary": "List webhook endpoints",
                "tags": [
                    "Endpoints"
                ],
                "responses": {
                    "200": {
                        "description": "Array of `EndpointResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/EndpointResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "endpoints.store",
                "description": "We send the webhook types you list to the URL, signed with your signing\nsecrets. The URL must be public HTTPS on port 443. Your first endpoint\nalso creates your first signing secret, which this response carries in\n`signing_secret` once and never again; it is null when you already have one.",
                "summary": "Create a webhook endpoint",
                "tags": [
                    "Endpoints"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "A public HTTPS URL on port 443, up to 2,048 characters. A URL we refuse answers with a `url_*` code saying why."
                                    },
                                    "types": {
                                        "type": "array",
                                        "description": "The webhook types to send to it, at least one.",
                                        "items": {
                                            "type": "string"
                                        },
                                        "minItems": 1
                                    }
                                },
                                "required": [
                                    "url",
                                    "types"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`EndpointResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/EndpointResource"
                                        },
                                        "signing_secret": {
                                            "type": [
                                                "object",
                                                "null"
                                            ],
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "secret": {
                                                    "type": "string"
                                                },
                                                "last_four": {
                                                    "type": "string"
                                                },
                                                "created_at": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "secret",
                                                "last_four",
                                                "created_at"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "signing_secret"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Refused because of the resource's current state. The code says why.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "endpoint_ceiling_reached"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                                },
                                                "code": {
                                                    "type": "string",
                                                    "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                                    "enum": [
                                                        "validation_failed"
                                                    ]
                                                },
                                                "errors": {
                                                    "type": "object",
                                                    "description": "Each field that failed validation, by its path in the request, with its messages.",
                                                    "additionalProperties": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                },
                                                "doc_url": {
                                                    "type": "string",
                                                    "format": "uri",
                                                    "description": "The entry on our errors page that explains this code."
                                                },
                                                "request_id": {
                                                    "type": "string",
                                                    "format": "uuid",
                                                    "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                                }
                                            },
                                            "required": [
                                                "message",
                                                "code",
                                                "errors",
                                                "doc_url",
                                                "request_id"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                                },
                                                "code": {
                                                    "type": "string",
                                                    "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                                    "enum": [
                                                        "url_invalid",
                                                        "url_too_long",
                                                        "url_not_https",
                                                        "url_port_not_allowed",
                                                        "url_ip_literal",
                                                        "url_has_credentials",
                                                        "url_has_email_address",
                                                        "url_unresolvable",
                                                        "url_address_refused",
                                                        "unknown_type"
                                                    ]
                                                },
                                                "doc_url": {
                                                    "type": "string",
                                                    "format": "uri",
                                                    "description": "The entry on our errors page that explains this code."
                                                },
                                                "request_id": {
                                                    "type": "string",
                                                    "format": "uuid",
                                                    "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                                }
                                            },
                                            "required": [
                                                "message",
                                                "code",
                                                "doc_url",
                                                "request_id"
                                            ]
                                        }
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/webhook-endpoints/{id}": {
            "get": {
                "operationId": "endpoints.show",
                "summary": "Get a webhook endpoint",
                "tags": [
                    "Endpoints"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`EndpointResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/EndpointResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "operationId": "endpoints.update",
                "description": "Send only what you are changing. Webhooks not yet delivered go to the new\nURL.",
                "summary": "Update a webhook endpoint",
                "tags": [
                    "Endpoints"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "A public HTTPS URL on port 443, up to 2,048 characters. A URL we refuse answers with a `url_*` code saying why."
                                    },
                                    "types": {
                                        "type": "array",
                                        "description": "The webhook types to send to it, at least one.",
                                        "items": {
                                            "type": "string"
                                        },
                                        "minItems": 1
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`EndpointResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/EndpointResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                                },
                                                "code": {
                                                    "type": "string",
                                                    "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                                    "enum": [
                                                        "validation_failed"
                                                    ]
                                                },
                                                "errors": {
                                                    "type": "object",
                                                    "description": "Each field that failed validation, by its path in the request, with its messages.",
                                                    "additionalProperties": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                },
                                                "doc_url": {
                                                    "type": "string",
                                                    "format": "uri",
                                                    "description": "The entry on our errors page that explains this code."
                                                },
                                                "request_id": {
                                                    "type": "string",
                                                    "format": "uuid",
                                                    "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                                }
                                            },
                                            "required": [
                                                "message",
                                                "code",
                                                "errors",
                                                "doc_url",
                                                "request_id"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "message": {
                                                    "type": "string",
                                                    "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                                },
                                                "code": {
                                                    "type": "string",
                                                    "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                                    "enum": [
                                                        "url_invalid",
                                                        "url_too_long",
                                                        "url_not_https",
                                                        "url_port_not_allowed",
                                                        "url_ip_literal",
                                                        "url_has_credentials",
                                                        "url_has_email_address",
                                                        "url_unresolvable",
                                                        "url_address_refused",
                                                        "unknown_type"
                                                    ]
                                                },
                                                "doc_url": {
                                                    "type": "string",
                                                    "format": "uri",
                                                    "description": "The entry on our errors page that explains this code."
                                                },
                                                "request_id": {
                                                    "type": "string",
                                                    "format": "uuid",
                                                    "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                                }
                                            },
                                            "required": [
                                                "message",
                                                "code",
                                                "doc_url",
                                                "request_id"
                                            ]
                                        }
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "endpoints.destroy",
                "description": "Webhooks not yet delivered to it are failed and never sent.",
                "summary": "Delete a webhook endpoint",
                "tags": [
                    "Endpoints"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content",
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace}/erasures": {
            "post": {
                "operationId": "erasures.store",
                "description": "Removes the contact and everything we hold about the person, the email\nwe sent them included. We keep only a one-way hash of the address, so no\nmarketing email reaches it again unless you send a `subscribed` consent\ndated after the erasure. Name the contact, or give an email address when\nno contact may hold it. The erasure runs after the answer, which carries\nits id.",
                "summary": "Erase a person",
                "tags": [
                    "Erasures"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "contact": {
                                        "type": "string",
                                        "description": "The contact, by our id or as `ref:` plus your reference. Send this or `email`, not both.",
                                        "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "The address to erase, whether or not a contact holds it.",
                                        "maxLength": 255
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "requested_at": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "requested_at"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/event-types": {
            "get": {
                "operationId": "eventTypes.index",
                "description": "By name, 50 to a page.",
                "summary": "List event types",
                "tags": [
                    "EventTypes"
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `EventTypeResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/EventTypeResource"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/event-types/{name}": {
            "get": {
                "operationId": "eventTypes.show",
                "summary": "Get an event type",
                "tags": [
                    "EventTypes"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`EventTypeResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/EventTypeResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "operationId": "eventTypes.update",
                "description": "Creates the type (201) or changes its schema (200). A schema only grows,\nso payloads and templates already bound to it keep working: you can add\noptional fields, make a required field optional and change a fallback.\nRemoving a field, changing its type, making it required or adding a\nrequired field is refused, with each offending field named. Sending the\nschema it already has changes nothing, so you can register your types on\nevery deploy.",
                "summary": "Register an event type",
                "tags": [
                    "EventTypes"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "fields": {
                                        "type": "array",
                                        "description": "Every field a payload of this type can carry, at most 100. Send the whole schema each time; `[]` for a type with none.",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "name": {
                                                    "type": "string",
                                                    "description": "Lowercase letters, digits and `_`, starting with a letter. A template reads it as `{{ event.<name> }}`.",
                                                    "pattern": "^[a-z][a-z0-9_]*$",
                                                    "maxLength": 64
                                                },
                                                "type": {
                                                    "type": "string",
                                                    "enum": [
                                                        "string",
                                                        "number",
                                                        "boolean",
                                                        "date",
                                                        "datetime",
                                                        "money",
                                                        "url",
                                                        "list"
                                                    ]
                                                },
                                                "required": {
                                                    "type": "boolean",
                                                    "description": "Whether every payload must carry it: `true` or `false`, as JSON booleans."
                                                },
                                                "fallback": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "What a template shows when a payload leaves the field out.",
                                                    "maxLength": 255
                                                },
                                                "fields": {
                                                    "type": "array",
                                                    "description": "The fields of each record in a `list`, at most 20. Required for a `list` and refused for any other type.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "name": {
                                                                "type": "string",
                                                                "pattern": "^[a-z][a-z0-9_]*$",
                                                                "maxLength": 64
                                                            },
                                                            "type": {
                                                                "type": "string",
                                                                "enum": [
                                                                    "string",
                                                                    "number",
                                                                    "boolean",
                                                                    "date",
                                                                    "datetime",
                                                                    "money",
                                                                    "url"
                                                                ]
                                                            },
                                                            "required": {
                                                                "type": "boolean"
                                                            },
                                                            "fallback": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ],
                                                                "maxLength": 255
                                                            },
                                                            "fields": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "required": [
                                                            "name",
                                                            "type",
                                                            "required"
                                                        ]
                                                    },
                                                    "maxItems": 20
                                                }
                                            },
                                            "required": [
                                                "name",
                                                "type",
                                                "required"
                                            ]
                                        },
                                        "maxItems": 100
                                    }
                                },
                                "required": [
                                    "fields"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Refused because of the resource's current state. The code says why.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "schema_change_not_additive"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field the change would remove or alter, by its path, with what is wrong with it.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace}/events": {
            "post": {
                "operationId": "events.store",
                "description": "Tell us something happened for one recipient. When the event type has a\ndefault template, we render it with the payload and send it from your\ndomain; either way the event is recorded. The answer says what became of\nthe email: `queued`, or `suppressed` when the address is suppressed.\n\nThe idempotency key makes a retry safe: the same key with the same body\nanswers with the first response and the `Idempotent-Replayed` header,\nwithout sending again. A refused emit records nothing, its key included,\nso you can fix it and send it with the same key.",
                "summary": "Emit an event",
                "tags": [
                    "Events"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "type": {
                                        "type": "string",
                                        "description": "The event type's name, as you registered it."
                                    },
                                    "idempotency_key": {
                                        "type": "string",
                                        "description": "Your unique key for this event, up to 255 printable ASCII characters, no spaces."
                                    },
                                    "recipient": {
                                        "type": "object",
                                        "description": "Who the event is for: a contact in the workspace, by our id or as `ref:` plus your reference, or an email address. Exactly one of the two.",
                                        "properties": {
                                            "contact": {
                                                "type": "string"
                                            },
                                            "email": {
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "payload": {
                                        "type": "object",
                                        "description": "The event's fields, checked against its type's schema. Send `{}` for a type with no fields.",
                                        "additionalProperties": {}
                                    },
                                    "attachments": {
                                        "type": "array",
                                        "description": "Files to attach to the email, at most 10 and 10,000,000 bytes in all once decoded. Each `content` is base64. PDF, PNG, JPEG, GIF, WebP and iCalendar files are accepted, and the file name's extension must match its content.",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "filename": {
                                                    "type": "string"
                                                },
                                                "content": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "filename",
                                                "content"
                                            ]
                                        }
                                    }
                                },
                                "required": [
                                    "type",
                                    "idempotency_key",
                                    "recipient",
                                    "payload"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "The recorded event, and the email it sent, or `null` in `message` when the type has no default template.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "type": {
                                                    "type": "string"
                                                },
                                                "idempotency_key": {
                                                    "type": "string"
                                                },
                                                "contact": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ],
                                                    "properties": {
                                                        "id": {
                                                            "type": "string"
                                                        },
                                                        "reference": {
                                                            "type": [
                                                                "string",
                                                                "null"
                                                            ]
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "reference"
                                                    ]
                                                },
                                                "message": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ],
                                                    "properties": {
                                                        "id": {
                                                            "type": "string"
                                                        },
                                                        "state": {
                                                            "type": "string",
                                                            "enum": [
                                                                "queued",
                                                                "suppressed"
                                                            ]
                                                        },
                                                        "template_version_id": {
                                                            "type": "string"
                                                        },
                                                        "fell_back": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "simulated": {
                                                            "type": "boolean"
                                                        }
                                                    },
                                                    "required": [
                                                        "id",
                                                        "state",
                                                        "template_version_id",
                                                        "fell_back",
                                                        "simulated"
                                                    ]
                                                },
                                                "created_at": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "type",
                                                "idempotency_key",
                                                "contact",
                                                "message",
                                                "created_at"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Idempotent-Replayed": {
                                "description": "Present, as `true`, when this is the stored answer to an earlier emit with the same key.",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Refused because of the resource's current state. The code says why.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "idempotency_key_reused",
                                                "workspace_suspended",
                                                "domain_not_sendable"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited",
                                                "recipient_rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/webhook-secrets": {
            "get": {
                "operationId": "secrets.index",
                "description": "Oldest first, by their last four characters. Every webhook carries a\nsignature from each of them.",
                "summary": "List signing secrets",
                "tags": [
                    "Secrets"
                ],
                "responses": {
                    "200": {
                        "description": "Array of `SecretResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/SecretResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "secrets.store",
                "description": "The response carries the secret once and never again. To rotate, create\na new one, switch your verification to it, then revoke the old one. You\ncan have up to 3.",
                "summary": "Create a signing secret",
                "tags": [
                    "Secrets"
                ],
                "responses": {
                    "201": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "string"
                                                },
                                                "secret": {
                                                    "type": "string"
                                                },
                                                "last_four": {
                                                    "type": "string"
                                                },
                                                "created_at": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "id",
                                                "secret",
                                                "last_four",
                                                "created_at"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Refused because of the resource's current state. The code says why.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "secret_ceiling_reached"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/webhook-secrets/{id}": {
            "delete": {
                "operationId": "secrets.destroy",
                "description": "Webhooks stop carrying its signature. Your last secret can't be revoked\nwhile you have an endpoint, since nothing could sign what we send it.",
                "summary": "Revoke a signing secret",
                "tags": [
                    "Secrets"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content",
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Refused because of the resource's current state. The code says why.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "last_secret_in_use"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace}/event-types/{name}/variables": {
            "get": {
                "operationId": "templateVariables.show",
                "description": "The event, contact and system variables in the template this workspace\nsends for the event type, so you know which payload fields and contact\nattributes it reads. `version` and `variables` are null when the type\nhas no template yet, and nothing is sent for it.",
                "summary": "Get the variables a workspace's template uses",
                "tags": [
                    "TemplateVariables"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    },
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "version": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ]
                                                },
                                                "variables": {
                                                    "type": [
                                                        "object",
                                                        "null"
                                                    ],
                                                    "properties": {
                                                        "event": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "contact": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "system": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "event",
                                                        "contact",
                                                        "system"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "version",
                                                "variables"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/webhooks": {
            "get": {
                "operationId": "webhooks.index",
                "description": "Every webhook of the last 30 days, newest first, 50 to a page, with its\ndelivery state, attempts and last error: the place to look when one\ndidn't arrive.",
                "summary": "List webhooks",
                "tags": [
                    "Webhooks"
                ],
                "parameters": [
                    {
                        "name": "endpoint",
                        "in": "query",
                        "description": "Only the webhooks for this endpoint, by its id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "state",
                        "in": "query",
                        "schema": {
                            "$ref": "#/components/schemas/WebhookState"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "schema": {
                            "$ref": "#/components/schemas/WebhookType"
                        }
                    },
                    {
                        "name": "workspace",
                        "in": "query",
                        "description": "Only the webhooks about this workspace, by our id or as `ref:` plus your reference.",
                        "schema": {
                            "type": "string",
                            "pattern": "^([0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `WebhookResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/WebhookResource"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/webhooks/{id}": {
            "get": {
                "operationId": "webhooks.show",
                "description": "With the body as we would send it now.",
                "summary": "Get a webhook",
                "tags": [
                    "Webhooks"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`WebhookResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/WebhookResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/webhooks/{id}/redeliver": {
            "post": {
                "operationId": "webhooks.redeliver",
                "description": "Sends it again now, with the same id, so you can dedupe it if the first\ndelivery did arrive. A webhook that had finished starts a fresh round of\nattempts.",
                "summary": "Redeliver a webhook",
                "tags": [
                    "Webhooks"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The redelivery is queued.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "null"
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Refused because of the resource's current state. The code says why.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "endpoint_deleted"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/workspaces": {
            "get": {
                "operationId": "workspaces.index",
                "description": "Newest first, 50 to a page. Deleted workspaces are not listed.",
                "summary": "List workspaces",
                "tags": [
                    "Workspaces"
                ],
                "parameters": [
                    {
                        "name": "status",
                        "in": "query",
                        "description": "Only the workspaces in this state.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "active",
                                "suspended"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `WorkspaceResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/WorkspaceResource"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "next_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the next set of items."
                                                },
                                                "prev_cursor": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "The \"cursor\" that points to the previous set of items."
                                                }
                                            },
                                            "required": [
                                                "path",
                                                "per_page",
                                                "next_cursor",
                                                "prev_cursor"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "workspaces.store",
                "description": "One workspace per customer of yours, named by your own reference for that\ncustomer, so you can address it as `ref:` plus the reference from then on.",
                "summary": "Create a workspace",
                "tags": [
                    "Workspaces"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Your customer's name, as your platform shows it. It can't be an email address.",
                                        "maxLength": 128
                                    },
                                    "reference": {
                                        "type": "string",
                                        "description": "Your own id for the customer, unique among your live workspaces. Address the workspace as `ref:` plus this.",
                                        "pattern": "^[A-Za-z0-9._-]{1,128}$"
                                    },
                                    "timezone": {
                                        "type": "string",
                                        "description": "The workspace's time zone, such as `Europe/Lisbon`; its days start at midnight there. Defaults to `UTC`.",
                                        "maxLength": 64
                                    },
                                    "locale": {
                                        "type": "string",
                                        "description": "The language its email falls back to for a contact with none, such as `en` or `pt-BR`. Defaults to `en`.",
                                        "pattern": "^[A-Za-z]{2,3}(-[A-Za-z]{4})?(-([A-Za-z]{2}|[0-9]{3}))?(-([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*$",
                                        "maxLength": 16
                                    }
                                },
                                "required": [
                                    "name",
                                    "reference"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`WorkspaceResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/WorkspaceResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Refused because of the resource's current state. The code says why.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "reference_taken",
                                                "workspace_ceiling_reached"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace}": {
            "get": {
                "operationId": "workspaces.show",
                "summary": "Get a workspace",
                "tags": [
                    "Workspaces"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`WorkspaceResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/WorkspaceResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "operationId": "workspaces.update",
                "description": "Send only the fields you are changing.",
                "summary": "Update a workspace",
                "tags": [
                    "Workspaces"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Your customer's name, as your platform shows it. It can't be an email address.",
                                        "maxLength": 128
                                    },
                                    "reference": {
                                        "type": "string",
                                        "description": "Your own id for the customer, unique among your live workspaces. Address the workspace as `ref:` plus this.",
                                        "pattern": "^[A-Za-z0-9._-]{1,128}$"
                                    },
                                    "timezone": {
                                        "type": "string",
                                        "description": "The workspace's time zone, such as `Europe/Lisbon`; its days start at midnight there. Defaults to `UTC`.",
                                        "maxLength": 64
                                    },
                                    "locale": {
                                        "type": "string",
                                        "description": "The language its email falls back to for a contact with none, such as `en` or `pt-BR`. Defaults to `en`.",
                                        "pattern": "^[A-Za-z]{2,3}(-[A-Za-z]{4})?(-([A-Za-z]{2}|[0-9]{3}))?(-([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*$",
                                        "maxLength": 16
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`WorkspaceResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/WorkspaceResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Refused because of the resource's current state. The code says why.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "reference_taken"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "The request is invalid. The code says why, and `errors` names each field at fault.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "validation_failed"
                                            ]
                                        },
                                        "errors": {
                                            "type": "object",
                                            "description": "Each field that failed validation, by its path in the request, with its messages.",
                                            "additionalProperties": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "errors",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "workspaces.destroy",
                "description": "Sending stops at once and the workspace answers 404 from then on. Its\ncontacts and history are removed 30 days later, and its reference is\nfree for a new workspace straight away.",
                "summary": "Delete a workspace",
                "tags": [
                    "Workspaces"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content",
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace}/suspend": {
            "post": {
                "operationId": "workspaces.suspend",
                "description": "Nothing is sent from a suspended workspace until you resume it; an emit\ninto it is refused with `workspace_suspended`. Suspending one that is\nalready suspended changes nothing.",
                "summary": "Suspend a workspace",
                "tags": [
                    "Workspaces"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`WorkspaceResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/WorkspaceResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/workspaces/{workspace}/resume": {
            "post": {
                "operationId": "workspaces.resume",
                "description": "Sending starts again. Resuming one that isn't suspended changes nothing.",
                "summary": "Resume a workspace",
                "tags": [
                    "Workspaces"
                ],
                "parameters": [
                    {
                        "name": "workspace",
                        "in": "path",
                        "required": true,
                        "description": "The workspace: our id, or `ref:` plus your reference for it, such as `ref:cust_4821`. A reference is letters, digits, `.`, `_` and `-`, up to 128 characters, and needs no URL encoding.",
                        "schema": {
                            "type": "string",
                            "pattern": "^(?:[0-9A-Za-z]{26}|ref:[A-Za-z0-9._-]{1,128})$"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`WorkspaceResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/WorkspaceResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "The API key is missing, malformed, revoked or expired.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "unauthenticated"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing is at this path for your key. Another platform's or another workspace's resource answers the same as one that doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "not_found"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests. Wait for the seconds in `Retry-After`.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "description": "What went wrong, for a person to read. It may change, so branch on `code`."
                                        },
                                        "code": {
                                            "type": "string",
                                            "description": "What went wrong, for your code to branch on. A new code is not a breaking change.",
                                            "enum": [
                                                "rate_limited"
                                            ]
                                        },
                                        "doc_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "The entry on our errors page that explains this code."
                                        },
                                        "request_id": {
                                            "type": "string",
                                            "format": "uuid",
                                            "description": "This request's id, the same as its `Request-Id` header. Quote it when you ask us about the request."
                                        }
                                    },
                                    "required": [
                                        "message",
                                        "code",
                                        "doc_url",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "Request-Id": {
                                "description": "This request's id. Quote it when you ask us about the request.",
                                "required": true,
                                "schema": {
                                    "type": "string",
                                    "format": "uuid"
                                }
                            },
                            "Retry-After": {
                                "description": "Seconds to wait before trying again.",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "http": {
                "type": "http",
                "description": "Your API key, created on the console.",
                "scheme": "bearer"
            }
        },
        "schemas": {
            "AttachTagsRequest": {
                "type": "object",
                "properties": {
                    "tags": {
                        "type": "array",
                        "description": "Tag names, at most 50.",
                        "items": {
                            "type": "string",
                            "maxLength": 128
                        },
                        "minItems": 1,
                        "maxItems": 50
                    }
                },
                "required": [
                    "tags"
                ],
                "title": "AttachTagsRequest"
            },
            "AttributeDefinitionResource": {
                "type": "object",
                "properties": {
                    "key": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "required": {
                        "type": "boolean"
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "key",
                    "name",
                    "type",
                    "required",
                    "created_at"
                ],
                "title": "AttributeDefinitionResource"
            },
            "AttributeType": {
                "type": "string",
                "enum": [
                    "string",
                    "number",
                    "boolean",
                    "date"
                ],
                "title": "AttributeType"
            },
            "ContactResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "reference": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "email": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "description": "The marketing state: `pending` until you send consent, then `subscribed` or `unsubscribed`."
                    },
                    "locale": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "marketing": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "description": "Marketing consent and when it was given or withdrawn, with who gave it: `consented_by_key` is the id of the API key that sent the latest accepted `subscribed`. Null until you send consent.",
                        "properties": {
                            "state": {
                                "type": "string"
                            },
                            "at": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "consented_at": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "consented_by_key": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "state",
                            "at",
                            "consented_at",
                            "consented_by_key"
                        ]
                    },
                    "pixel_consent_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "When the person agreed to open tracking, or null."
                    },
                    "attributes": {
                        "type": "object",
                        "description": "Values by attribute definition key; `{}` when the contact has none."
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TagResource"
                        }
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "reference",
                    "email",
                    "status",
                    "locale",
                    "marketing",
                    "pixel_consent_at",
                    "attributes",
                    "created_at",
                    "updated_at"
                ],
                "title": "ContactResource"
            },
            "DefaultTemplateVersionResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "version": {
                        "type": "integer",
                        "description": "The version number, counting from 1."
                    },
                    "subject": {
                        "type": "string"
                    },
                    "from_local_part": {
                        "type": "string"
                    },
                    "display_name": {
                        "type": "string"
                    },
                    "reply_to": {
                        "type": "string"
                    },
                    "locale": {
                        "type": "string"
                    },
                    "composition": {
                        "type": "array",
                        "items": {}
                    },
                    "translations": {
                        "type": "object"
                    },
                    "variables": {
                        "type": "object",
                        "description": "The variables the template reads, as `event`, `contact` and `system` lists.",
                        "properties": {
                            "event": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "contact": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "system": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            }
                        },
                        "required": [
                            "event",
                            "contact",
                            "system"
                        ]
                    },
                    "restored_from": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "The version this one restored, or null."
                    },
                    "created_at": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "version",
                    "subject",
                    "from_local_part",
                    "display_name",
                    "reply_to",
                    "locale",
                    "composition",
                    "translations",
                    "variables",
                    "restored_from",
                    "created_at"
                ],
                "title": "DefaultTemplateVersionResource"
            },
            "DefaultTemplateVersionSummaryResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "version": {
                        "type": "integer"
                    },
                    "restored_from": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "The version this one restored, or null."
                    },
                    "created_at": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "version",
                    "restored_from",
                    "created_at"
                ],
                "title": "DefaultTemplateVersionSummaryResource"
            },
            "EndpointResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string"
                    },
                    "types": {
                        "type": "array",
                        "description": "The webhook types we send to it.",
                        "items": {}
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "url",
                    "types",
                    "created_at",
                    "updated_at"
                ],
                "title": "EndpointResource"
            },
            "EventTypeResource": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "fields": {
                        "type": "array",
                        "items": {}
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "name",
                    "fields",
                    "created_at",
                    "updated_at"
                ],
                "title": "EventTypeResource"
            },
            "SecretResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "last_four": {
                        "type": "string",
                        "description": "The secret's last four characters, to tell your secrets apart."
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "last_four",
                    "created_at"
                ],
                "title": "SecretResource"
            },
            "TagResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "key": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "color_code": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "key",
                    "name",
                    "color_code"
                ],
                "title": "TagResource"
            },
            "WebhookResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "source": {
                        "type": "string",
                        "description": "Where the change came from: `recipient` when the person did it, such as leaving marketing or marking an email as spam; `sendtruss` when our sending or our own rules recorded it."
                    },
                    "endpoint_id": {
                        "type": "string"
                    },
                    "workspace": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "properties": {
                            "id": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "reference": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "reference"
                        ]
                    },
                    "state": {
                        "type": "string",
                        "description": "`pending` until your endpoint answers 2xx (`delivered`) or we give up (`failed`)."
                    },
                    "attempts": {
                        "type": "integer"
                    },
                    "last_attempt_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "last_status": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "The HTTP status your endpoint last answered with, or null when it gave none."
                    },
                    "last_error": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "What went wrong on the last attempt, or null."
                    },
                    "delivered_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "body": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "type",
                    "source",
                    "endpoint_id",
                    "workspace",
                    "state",
                    "attempts",
                    "last_attempt_at",
                    "last_status",
                    "last_error",
                    "delivered_at",
                    "created_at"
                ],
                "title": "WebhookResource"
            },
            "WebhookState": {
                "type": "string",
                "enum": [
                    "pending",
                    "delivered",
                    "failed"
                ],
                "title": "WebhookState"
            },
            "WebhookType": {
                "type": "string",
                "description": "Every webhook type an endpoint can ask for. Any other type is refused with `unknown_type`.\n",
                "enum": [
                    "message.delivered",
                    "message.bounced",
                    "message.complained",
                    "message.suppressed",
                    "message.failed",
                    "message.expired",
                    "contact.left_marketing",
                    "contact.rejoined_marketing",
                    "contact.suppressed",
                    "workspace.health_changed",
                    "sending_domain.changed"
                ],
                "title": "WebhookType"
            },
            "WorkspaceResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "reference": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Your reference for the customer."
                    },
                    "name": {
                        "type": "string"
                    },
                    "timezone": {
                        "type": "string"
                    },
                    "locale": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "active",
                            "suspended"
                        ]
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "sending": {
                        "type": "object",
                        "description": "Whether email can go out from the workspace.",
                        "properties": {
                            "state": {
                                "type": "string",
                                "description": "`ready`; `blocked` while your sending domain is missing or not verified, with the reason below; or `waiting` for a short while once your domain can send, while the workspace itself is set up to send.",
                                "enum": [
                                    "ready",
                                    "waiting",
                                    "blocked"
                                ]
                            },
                            "reason": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "Why it is blocked: `suspended`, `no_identity` when you have no sending domain, or `identity_not_sendable` when it isn't verified. Null otherwise."
                            }
                        },
                        "required": [
                            "state",
                            "reason"
                        ]
                    },
                    "health": {
                        "type": "object",
                        "description": "How recipients are treating the workspace's email. A workspace whose bounces or complaints run high is throttled, then paused, so it can't harm your other workspaces.",
                        "properties": {
                            "state": {
                                "type": "string",
                                "description": "`ramping` while it builds a sending history, `established`, `throttled` or `paused`."
                            },
                            "reason": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "What moved it into its state, or null."
                            },
                            "since": {
                                "type": [
                                    "string",
                                    "null"
                                ],
                                "description": "When it entered its state."
                            }
                        },
                        "required": [
                            "state",
                            "reason",
                            "since"
                        ]
                    }
                },
                "required": [
                    "id",
                    "reference",
                    "name",
                    "timezone",
                    "locale",
                    "status",
                    "created_at",
                    "sending",
                    "health"
                ],
                "title": "WorkspaceResource"
            }
        }
    }
}