{
    "swagger": "2.0",
    "info": {
        "version": "1.0.1",
        "title": "Flexie",
        "description": ""
    },
    "basePath": "/api",
    "schemes": [
        "https"
    ],
    "consumes": [
        "application/json"
    ],
    "produces": [
        "application/json"
    ],
    "securityDefinitions": {
        "apikey": {
            "name": "apikey",
            "type": "apiKey",
            "in": "header"
        }
    },
    "paths": {
        "/leads/{id}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getLead",
                "summary": "Get Lead",
                "tags": [
                    "Lead"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-lead"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "put": {
                "operationId": "updateLead",
                "summary": "Update Lead",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-lead"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "delete": {
                "operationId": "deleteLead",
                "summary": "Delete Lead",
                "tags": [
                    "Lead"
                ],
                "responses": {
                    "204": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchLead",
                "summary": "Update Lead",
                "description": "Identical to `PUT` on this path: send only the fields that change.",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-lead"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/leads": {
            "get": {
                "operationId": "listLeads",
                "summary": "List Leads",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:entityList"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lead-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "listLeadsFiltered",
                "summary": "List Leads",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/filter-input"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lead-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/leads/edit": {
            "put": {
                "operationId": "updateLeadByUnqiueField",
                "summary": "Update Lead By Unique FIeld",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-lead"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchEditLead",
                "summary": "Update Lead By Unique FIeld",
                "description": "Identical to `PUT` on this path. The verb makes no difference; `/edit` always updates and never creates.",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-lead"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "postEditLead",
                "summary": "Update Lead By Unique FIeld",
                "description": "Identical to `PUT` on this path. The verb makes no difference; `/edit` always updates and never creates.",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-lead"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/leads/new": {
            "post": {
                "operationId": "createLead",
                "summary": "Create Lead",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-lead"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/leads/{id}/notes": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getLeadNotes",
                "summary": "Get Lead Notes",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/note-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/leads/{id}/workflows": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getLeadWorkflows",
                "summary": "Get Lead Workflows",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/workflow-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/leads/{id}/lists": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getLeadLists",
                "summary": "Get Lead Lists",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lists-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/leads/list/fields": {
            "get": {
                "operationId": "listLeadFields",
                "summary": "The fields configured on this entity",
                "tags": [
                    "Lead"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ],
                "description": "The fields somebody configured on this entity, in the same shape as list/filters so one reader handles both. Each entry gives the value to send as a rule's `field`, and the operators it accepts with the shape of value each wants. A field that cannot be filtered comes back with an empty operators list. For everything a rule may name, including the fields Flexie maintains and the fields of related records, use list/filters."
            }
        },
        "/leads/list/fields/categories": {
            "get": {
                "operationId": "listLeadFieldCategories",
                "summary": "List Lead Field Categories",
                "tags": [
                    "Lead"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/leads/list/lists": {
            "get": {
                "operationId": "listLeadLists",
                "summary": "List Lead Lists",
                "tags": [
                    "Lead"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/lead/lists": {
            "get": {
                "operationId": "filterLeadLists",
                "summary": "Filter Lead Lists",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lists-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/lead/lists/{id}/add/{entityId}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "entityId",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "leadListAdd",
                "summary": "Add a lead to a list",
                "tags": [
                    "Lead"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/success"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/lead/lists/{id}/remove/{entityId}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "entityId",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "leadListRemove",
                "summary": "Remove a lead from a list",
                "tags": [
                    "Lead"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/success"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contacts/{id}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getContacts",
                "summary": "Get Contact",
                "tags": [
                    "Contact"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-contact"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "put": {
                "operationId": "updateContact",
                "summary": "Update Contact",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-contact"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "delete": {
                "operationId": "deleteContact",
                "summary": "Delete Contact",
                "tags": [
                    "Contact"
                ],
                "responses": {
                    "204": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchContact",
                "summary": "Update Contact",
                "description": "Identical to `PUT` on this path: send only the fields that change.",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-contact"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contacts": {
            "get": {
                "operationId": "listContacts",
                "summary": "List Contacts",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:entityList"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/contact-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "listContactsFiltered",
                "summary": "List Contacts",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/filter-input"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/contact-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contacts/edit": {
            "put": {
                "operationId": "updateContactByUniqueField",
                "summary": "Update Contact By Unique Field",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-contact"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchEditContact",
                "summary": "Update Contact By Unique Field",
                "description": "Identical to `PUT` on this path. The verb makes no difference; `/edit` always updates and never creates.",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-contact"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "postEditContact",
                "summary": "Update Contact By Unique Field",
                "description": "Identical to `PUT` on this path. The verb makes no difference; `/edit` always updates and never creates.",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-contact"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contacts/new": {
            "post": {
                "operationId": "createContact",
                "summary": "Create Contact",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-contact"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contacts/{id}/notes": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getContactNotes",
                "summary": "Get Contact Notes",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/note-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contacts/{id}/workflows": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getContactWorkflows",
                "summary": "Get Contact Workflows",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/workflow-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contacts/{id}/lists": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getContactLists",
                "summary": "Get Contact Lists",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lists-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contacts/list/fields": {
            "get": {
                "operationId": "listContactFields",
                "summary": "The fields configured on this entity",
                "tags": [
                    "Contact"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ],
                "description": "The fields somebody configured on this entity, in the same shape as list/filters so one reader handles both. Each entry gives the value to send as a rule's `field`, and the operators it accepts with the shape of value each wants. A field that cannot be filtered comes back with an empty operators list. For everything a rule may name, including the fields Flexie maintains and the fields of related records, use list/filters."
            }
        },
        "/contacts/list/fields/categories": {
            "get": {
                "operationId": "listContactFieldCategories",
                "summary": "List Contact Field Categories",
                "tags": [
                    "Contact"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contacts/list/lists": {
            "get": {
                "operationId": "listContactLists",
                "summary": "List Contact Lists",
                "tags": [
                    "Contact"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contact/lists": {
            "get": {
                "operationId": "filterContactLists",
                "summary": "Filter Contact Lists",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lists-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contact/lists/{id}/add/{entityId}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "entityId",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "contactListAdd",
                "summary": "Add a contact to a list",
                "tags": [
                    "Contact"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/success"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contact/lists/{id}/remove/{entityId}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "entityId",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "contactListRemove",
                "summary": "Remove a contact from a list",
                "tags": [
                    "Contact"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/success"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/accounts/{id}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getAccount",
                "summary": "Get Account",
                "tags": [
                    "Accounts"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-account"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "put": {
                "operationId": "updateAccount",
                "summary": "Update Account",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-account"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "delete": {
                "operationId": "deleteAccount",
                "summary": "Delete Account",
                "tags": [
                    "Accounts"
                ],
                "responses": {
                    "204": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchAccount",
                "summary": "Update Account",
                "description": "Identical to `PUT` on this path: send only the fields that change.",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-account"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/accounts": {
            "get": {
                "operationId": "listAccounts",
                "summary": "List Accounts",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:entityList"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/account-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "listAccountsFiltered",
                "summary": "List Accounts",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/filter-input"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/account-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/accounts/edit": {
            "put": {
                "operationId": "updateAccountByUniqueField",
                "summary": "Update Account By Unique FIeld",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-account"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchEditAccount",
                "summary": "Update Account By Unique FIeld",
                "description": "Identical to `PUT` on this path. The verb makes no difference; `/edit` always updates and never creates.",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-account"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "postEditAccount",
                "summary": "Update Account By Unique FIeld",
                "description": "Identical to `PUT` on this path. The verb makes no difference; `/edit` always updates and never creates.",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-account"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/accounts/new": {
            "post": {
                "operationId": "createAccount",
                "summary": "Create Account",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-account"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/accounts/{id}/notes": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getAccountNotes",
                "summary": "Get Account Notes",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/note-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/accounts/{id}/workflows": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getAccountWorkflows",
                "summary": "Get Account Workflows",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/workflow-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/accounts/{id}/lists": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getAccountLists",
                "summary": "Get Account Lists",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lists-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/accounts/list/fields": {
            "get": {
                "operationId": "listAccountFields",
                "summary": "The fields configured on this entity",
                "tags": [
                    "Accounts"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ],
                "description": "The fields somebody configured on this entity, in the same shape as list/filters so one reader handles both. Each entry gives the value to send as a rule's `field`, and the operators it accepts with the shape of value each wants. A field that cannot be filtered comes back with an empty operators list. For everything a rule may name, including the fields Flexie maintains and the fields of related records, use list/filters."
            }
        },
        "/accounts/list/fields/categories": {
            "get": {
                "operationId": "listAccountFieldCategories",
                "summary": "List Account Field Categories",
                "tags": [
                    "Accounts"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/accounts/list/lists": {
            "get": {
                "operationId": "listAccountLists",
                "summary": "List Account Lists",
                "tags": [
                    "Accounts"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/account/lists": {
            "get": {
                "operationId": "filterAccountLists",
                "summary": "Filter Account Lists",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lists-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/account/lists/{id}/add/{entityId}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "entityId",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "accountListAdd",
                "summary": "Add an account to a list",
                "tags": [
                    "Accounts"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/success"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/account/lists/{id}/remove/{entityId}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "entityId",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "accountListRemove",
                "summary": "Remove an account from a list",
                "tags": [
                    "Accounts"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/success"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deals/{id}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getDeal",
                "summary": "Get Deal",
                "tags": [
                    "Deals"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-deal"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "put": {
                "operationId": "updateDeal",
                "summary": "Update Deal",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-deal"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "delete": {
                "operationId": "deleteDeal",
                "summary": "Delete Deal",
                "tags": [
                    "Deals"
                ],
                "responses": {
                    "204": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchDeal",
                "summary": "Update Deal",
                "description": "Identical to `PUT` on this path: send only the fields that change.",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-deal"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deals": {
            "get": {
                "operationId": "lisDeals",
                "summary": "List Deals",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:entityList"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/deal-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "lisDealsFiltered",
                "summary": "List Deals",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/filter-input"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/deal-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deals/edit": {
            "put": {
                "operationId": "updateDealByUniqueField",
                "summary": "Update Deal By Unique FIeld",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-deal"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchEditDeal",
                "summary": "Update Deal By Unique FIeld",
                "description": "Identical to `PUT` on this path. The verb makes no difference; `/edit` always updates and never creates.",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-deal"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "postEditDeal",
                "summary": "Update Deal By Unique FIeld",
                "description": "Identical to `PUT` on this path. The verb makes no difference; `/edit` always updates and never creates.",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-deal"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deals/new": {
            "post": {
                "operationId": "createDeal",
                "summary": "Create Deal",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-deal"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deals/{id}/notes": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getDealNotes",
                "summary": "Get Deal Notes",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/note-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deals/{id}/workflows": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getDealWorkflows",
                "summary": "Get Deal Workflows",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/workflow-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deals/{id}/lists": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getDealLists",
                "summary": "Get Deal Lists",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lists-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deals/list/fields": {
            "get": {
                "operationId": "listDealFields",
                "summary": "The fields configured on this entity",
                "tags": [
                    "Deals"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ],
                "description": "The fields somebody configured on this entity, in the same shape as list/filters so one reader handles both. Each entry gives the value to send as a rule's `field`, and the operators it accepts with the shape of value each wants. A field that cannot be filtered comes back with an empty operators list. For everything a rule may name, including the fields Flexie maintains and the fields of related records, use list/filters."
            }
        },
        "/deals/list/fields/categories": {
            "get": {
                "operationId": "listDealFieldCategories",
                "summary": "List Deal Field Categories",
                "tags": [
                    "Deals"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deals/list/lists": {
            "get": {
                "operationId": "listDealLists",
                "summary": "List Deal Lists",
                "tags": [
                    "Deals"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deal/lists": {
            "get": {
                "operationId": "filterDealLists",
                "summary": "Filter Deal Lists",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lists-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deal/lists/{id}/add/{entityId}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "entityId",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "dealListAdd",
                "summary": "Add a deal to a list",
                "tags": [
                    "Deals"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/success"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deal/lists/{id}/remove/{entityId}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "entityId",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "dealListRemove",
                "summary": "Remove a deal from a list",
                "tags": [
                    "Deals"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/success"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases/{id}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getCase",
                "summary": "Get Case",
                "tags": [
                    "Cases"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-case"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "put": {
                "operationId": "updateCase",
                "summary": "Update Case",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-case"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "delete": {
                "operationId": "deleteCase",
                "summary": "Delete Case",
                "tags": [
                    "Cases"
                ],
                "responses": {
                    "204": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchCase",
                "summary": "Update Case",
                "description": "Identical to `PUT` on this path: send only the fields that change.",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-case"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases": {
            "get": {
                "operationId": "listCases",
                "summary": "List Cases",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:entityList"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/case-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "lisCasesFiltered",
                "summary": "List Cases",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/filter-input"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/case-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases/edit": {
            "put": {
                "operationId": "updateCaseByUniqueField",
                "summary": "Update Case By Unique Field",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-case"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchEditCase",
                "summary": "Update Case By Unique Field",
                "description": "Identical to `PUT` on this path. The verb makes no difference; `/edit` always updates and never creates.",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-case"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "postEditCase",
                "summary": "Update Case By Unique Field",
                "description": "Identical to `PUT` on this path. The verb makes no difference; `/edit` always updates and never creates.",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-case"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases/new": {
            "post": {
                "operationId": "createCase",
                "summary": "Create Case",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-case"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases/{id}/replies": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "integer"
                }
            ],
            "get": {
                "operationId": "getCaseReplies",
                "summary": "Get Case Replies",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/reply-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "addCaseReply",
                "summary": "Add Case Reply",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-reply"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases/replies/{identifier}": {
            "parameters": [
                {
                    "name": "identifier",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getCaseRepliesByIdentifier",
                "summary": "Get Case Replies By Identifier",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/reply-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "addCaseReplyByIdentifier",
                "summary": "Add Case Reply By Identifier",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-reply"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases/{id}/notes": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getCaseNotes",
                "summary": "Get Case Notes",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/note-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases/{id}/workflows": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getCaseWorkflows",
                "summary": "Get Case Workflows",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/workflow-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases/{id}/lists": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getCaseLists",
                "summary": "Get Case Lists",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lists-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases/list/fields": {
            "get": {
                "operationId": "listCaseFields",
                "summary": "The fields configured on this entity",
                "tags": [
                    "Cases"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ],
                "description": "The fields somebody configured on this entity, in the same shape as list/filters so one reader handles both. Each entry gives the value to send as a rule's `field`, and the operators it accepts with the shape of value each wants. A field that cannot be filtered comes back with an empty operators list. For everything a rule may name, including the fields Flexie maintains and the fields of related records, use list/filters."
            }
        },
        "/cases/list/fields/categories": {
            "get": {
                "operationId": "listCaseFieldCategories",
                "summary": "List Case Field Categories",
                "tags": [
                    "Cases"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases/list/lists": {
            "get": {
                "operationId": "listCaseLists",
                "summary": "List Case Lists",
                "tags": [
                    "Cases"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/case/lists": {
            "get": {
                "operationId": "filterCaseLists",
                "summary": "Filter Case Lists",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lists-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/case/lists/{id}/add/{entityId}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "entityId",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "caseListAdd",
                "summary": "Add a case to a list",
                "tags": [
                    "Cases"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/success"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/case/lists/{id}/remove/{entityId}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "entityId",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "caseListRemove",
                "summary": "Remove a case from a list",
                "tags": [
                    "Cases"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/success"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/emails": {
            "get": {
                "operationId": "listEmails",
                "summary": "List Emails",
                "tags": [
                    "Emails"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/email-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/emails/{id}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getEmail",
                "summary": "Get Email",
                "tags": [
                    "Emails"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-email"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/reports/{id}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getReport",
                "summary": "Get Report",
                "tags": [
                    "Reports"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-report"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/reports": {
            "get": {
                "operationId": "listReports",
                "summary": "List Reports",
                "tags": [
                    "Reports"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/report-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                }
            }
        },
        "/users": {
            "get": {
                "operationId": "listUsers",
                "summary": "List Users",
                "tags": [
                    "Users"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/user-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/notes/{id}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getNote",
                "summary": "Get Note",
                "tags": [
                    "Notes"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-note"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "put": {
                "operationId": "updateNote",
                "summary": "Update Note",
                "tags": [
                    "Notes"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-note"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "delete": {
                "operationId": "deleteNote",
                "summary": "Delete Note",
                "tags": [
                    "Notes"
                ],
                "responses": {
                    "204": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchNote",
                "summary": "Update Note",
                "description": "Identical to `PUT` on this path: send only the fields that change.",
                "tags": [
                    "Notes"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-note"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/notes/{entityType}/{entityId}": {
            "parameters": [
                {
                    "name": "entityType",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "entityId",
                    "in": "path",
                    "required": true,
                    "type": "integer"
                }
            ],
            "post": {
                "operationId": "createNote",
                "summary": "Create Note",
                "tags": [
                    "Notes"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-note"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "delete": {
                "operationId": "deleteEntityNotes",
                "summary": "Delete a record's notes",
                "description": "Deletes the notes attached to this record and answers with how many were removed.",
                "tags": [
                    "Notes"
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/tasks/{id}": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getTask",
                "summary": "Get Task",
                "tags": [
                    "Tasks"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-task"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "put": {
                "operationId": "updateTask",
                "summary": "Update Task",
                "tags": [
                    "Tasks"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-task"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "delete": {
                "operationId": "deleteTask",
                "summary": "Delete Task",
                "tags": [
                    "Tasks"
                ],
                "responses": {
                    "204": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchTask",
                "summary": "Update Task",
                "description": "Identical to `PUT` on this path: send only the fields that change.",
                "tags": [
                    "Tasks"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-task"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/tasks": {
            "get": {
                "operationId": "listTasks",
                "summary": "List Tasks",
                "tags": [
                    "Tasks"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/task-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "listTasksPost",
                "summary": "List Tasks",
                "description": "Identical to `GET` on this path: the listing, with `limit` and `start` read from the body as well as the query string. Tasks take no filters, so a `filters` key is refused with a `400` rather than ignored.",
                "tags": [
                    "Tasks"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/task-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/tasks/{id}/complete": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "completeTask",
                "summary": "Complete Task",
                "tags": [
                    "Tasks"
                ],
                "responses": {
                    "201": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-task"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/tasks/{id}/incomplete": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "incompleteTask",
                "summary": "Incomplete Task",
                "tags": [
                    "Tasks"
                ],
                "responses": {
                    "201": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-task"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/tasks/new": {
            "post": {
                "operationId": "createTask",
                "summary": "Create Task",
                "tags": [
                    "Tasks"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/single-task"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/tasks/list/categories": {
            "get": {
                "operationId": "listTaskCategories",
                "summary": "List Task Categories",
                "tags": [
                    "Tasks"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/{id}": {
            "parameters": [
                {
                    "name": "tableName",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getCustomEntity",
                "summary": "Get Custom Entity",
                "tags": [
                    "Custom entities"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "object"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "put": {
                "operationId": "updateCustomEntity",
                "summary": "Update Custom Entity",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "object"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "delete": {
                "operationId": "deleteCustomEntity",
                "summary": "Delete Custom Entity",
                "tags": [
                    "Custom entities"
                ],
                "responses": {
                    "204": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchEntityObject",
                "summary": "Update Custom Entity",
                "description": "Identical to `PUT` on this path: send only the fields that change.",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "object"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}": {
            "parameters": [
                {
                    "name": "tableName",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "listCustomEntities",
                "summary": "List Custom Entities",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:entityList"
                    },
                    {
                        "$ref": "#/parameters/trait:dynamicGirdParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "total": {
                                    "type": "integer"
                                }
                            },
                            "required": [
                                "total"
                            ]
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "listCustomEntitiesFiltered",
                "summary": "List Custom Entities",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/filter-input"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "total": {
                                    "type": "integer"
                                }
                            },
                            "required": [
                                "total"
                            ]
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/edit": {
            "parameters": [
                {
                    "name": "tableName",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "put": {
                "operationId": "updateCustomEntityByUniqueField",
                "summary": "Update Custom Entity By Unique Field",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "object"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchEditEntityObject",
                "summary": "Update Custom Entity By Unique Field",
                "description": "Identical to `PUT` on this path. The verb makes no difference; `/edit` always updates and never creates.",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "object"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "postEditEntityObject",
                "summary": "Update Custom Entity By Unique Field",
                "description": "Identical to `PUT` on this path. The verb makes no difference; `/edit` always updates and never creates.",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "object"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/new": {
            "parameters": [
                {
                    "name": "tableName",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "createCustomEntity",
                "summary": "Create Custom Entity",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "",
                        "schema": {
                            "type": "object"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/{id}/notes": {
            "parameters": [
                {
                    "name": "tableName",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getCustomEntityNotes",
                "summary": "Get Custom Entity Notes",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/note-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/{id}/workflows": {
            "parameters": [
                {
                    "name": "tableName",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getCustomEntityWorkflows",
                "summary": "Get Custom Entity Workflows",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/workflow-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/{id}/lists": {
            "parameters": [
                {
                    "name": "tableName",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getCustomEntityLists",
                "summary": "Get Custom Entity Lists",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lists-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/list/fields": {
            "parameters": [
                {
                    "name": "tableName",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "listCustomEntityFields",
                "summary": "The fields configured on this entity",
                "tags": [
                    "Custom entities"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ],
                "description": "The fields somebody configured on this entity, in the same shape as list/filters so one reader handles both. Each entry gives the value to send as a rule's `field`, and the operators it accepts with the shape of value each wants. A field that cannot be filtered comes back with an empty operators list. For everything a rule may name, including the fields Flexie maintains and the fields of related records, use list/filters."
            }
        },
        "/ce/{tableName}/list/fields/categories": {
            "parameters": [
                {
                    "name": "tableName",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "listCustomEntityFieldCategories",
                "summary": "List Custom Entity Field Categories",
                "tags": [
                    "Custom entities"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/list/lists": {
            "parameters": [
                {
                    "name": "tableName",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "listCustomEntityLists",
                "summary": "List Custom Entity Lists",
                "tags": [
                    "Custom entities"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/lists": {
            "parameters": [
                {
                    "name": "tableName",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "filterCustomEntityLists",
                "summary": "Filter Custom Entity Lists",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:orderBy"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:orderByDir"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:search"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lists-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/lists/{id}/add/{entityId}": {
            "parameters": [
                {
                    "name": "tableName",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "entityId",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "customEntityListAdd",
                "summary": "Add a record to a list",
                "tags": [
                    "Custom entities"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/success"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/lists/{id}/remove/{entityId}": {
            "parameters": [
                {
                    "name": "tableName",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                },
                {
                    "name": "entityId",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "post": {
                "operationId": "customEntityListRemove",
                "summary": "Remove a record from a list",
                "tags": [
                    "Custom entities"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/success"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contacts/search": {
            "post": {
                "operationId": "searchContact",
                "summary": "Filter Contacts with a rule set",
                "description": "Filters records with the same rule sets the data grids use. The body carries a `filters` object holding a `condition` of AND or OR and a list of `rules`, each naming a field, an operator and a value. Groups nest. Paging is by `page` and `limit`, and `limit` is capped at 100. The fields a rule may name, and the operators each one accepts, are published per field by the list/fields endpoint.",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/contact-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/leads/search": {
            "post": {
                "operationId": "searchLead",
                "summary": "Filter Leads with a rule set",
                "description": "Filters records with the same rule sets the data grids use. The body carries a `filters` object holding a `condition` of AND or OR and a list of `rules`, each naming a field, an operator and a value. Groups nest. Paging is by `page` and `limit`, and `limit` is capped at 100. The fields a rule may name, and the operators each one accepts, are published per field by the list/fields endpoint.",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/lead-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/accounts/search": {
            "post": {
                "operationId": "searchAccount",
                "summary": "Filter Accounts with a rule set",
                "description": "Filters records with the same rule sets the data grids use. The body carries a `filters` object holding a `condition` of AND or OR and a list of `rules`, each naming a field, an operator and a value. Groups nest. Paging is by `page` and `limit`, and `limit` is capped at 100. The fields a rule may name, and the operators each one accepts, are published per field by the list/fields endpoint.",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/account-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deals/search": {
            "post": {
                "operationId": "searchDeal",
                "summary": "Filter Deals with a rule set",
                "description": "Filters records with the same rule sets the data grids use. The body carries a `filters` object holding a `condition` of AND or OR and a list of `rules`, each naming a field, an operator and a value. Groups nest. Paging is by `page` and `limit`, and `limit` is capped at 100. The fields a rule may name, and the operators each one accepts, are published per field by the list/fields endpoint.",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/deal-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases/search": {
            "post": {
                "operationId": "searchCase",
                "summary": "Filter Cases with a rule set",
                "description": "Filters records with the same rule sets the data grids use. The body carries a `filters` object holding a `condition` of AND or OR and a list of `rules`, each naming a field, an operator and a value. Groups nest. Paging is by `page` and `limit`, and `limit` is capped at 100. The fields a rule may name, and the operators each one accepts, are published per field by the list/fields endpoint.",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/case-list"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/search": {
            "post": {
                "operationId": "searchCe",
                "summary": "Filter Custom Entitys with a rule set",
                "description": "Filters records with the same rule sets the data grids use. The body carries a `filters` object holding a `condition` of AND or OR and a list of `rules`, each naming a field, an operator and a value. Groups nest. Paging is by `page` and `limit`, and `limit` is capped at 100. The fields a rule may name, and the operators each one accepts, are published per field by the list/fields endpoint.",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "name": "tableName",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "total": {
                                    "type": "integer"
                                }
                            },
                            "required": [
                                "total"
                            ]
                        }
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/reports/{id}/data": {
            "parameters": [
                {
                    "name": "id",
                    "in": "path",
                    "required": true,
                    "type": "string"
                }
            ],
            "get": {
                "operationId": "getReportData",
                "summary": "Get a report's data",
                "description": "Compiles the report and returns its rows. Ordering defaults to the report's own, and can be overridden with orderBy and orderByDir. Paging is by start and limit, and limit is capped at 100. The body is { \"total\": 23, \"error\": \"\", \"data\": [ ... ] }.",
                "tags": [
                    "Reports"
                ],
                "parameters": [
                    {
                        "name": "orderBy",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "orderByDir",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "type": "integer"
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "getReportDataPost",
                "summary": "Get a report's data",
                "description": "Identical to `GET` on this path, for a caller that would rather send its paging in a body. Compiles the report and returns its rows. Ordering defaults to the report's own, and can be overridden with orderBy and orderByDir. Paging is by start and limit, and limit is capped at 100. The body is { \"total\": 23, \"error\": \"\", \"data\": [ ... ] }.",
                "tags": [
                    "Reports"
                ],
                "parameters": [
                    {
                        "name": "orderBy",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "orderByDir",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "type": "integer"
                    },
                    {
                        "name": "start",
                        "in": "query",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contacts/identify": {
            "post": {
                "operationId": "identifyContact",
                "summary": "Find one record by a unique field",
                "description": "Looks a record up by a field marked as a unique identifier, so an integration can match on its own reference instead of keeping a table of Flexie ids. Send unique_field and unique_field_value. An unknown value is a 404, not an empty result.",
                "tags": [
                    "Contact"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/leads/identify": {
            "post": {
                "operationId": "identifyLead",
                "summary": "Find one record by a unique field",
                "description": "Looks a record up by a field marked as a unique identifier, so an integration can match on its own reference instead of keeping a table of Flexie ids. Send unique_field and unique_field_value. An unknown value is a 404, not an empty result.",
                "tags": [
                    "Lead"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/accounts/identify": {
            "post": {
                "operationId": "identifyAccounts",
                "summary": "Find one record by a unique field",
                "description": "Looks a record up by a field marked as a unique identifier, so an integration can match on its own reference instead of keeping a table of Flexie ids. Send unique_field and unique_field_value. An unknown value is a 404, not an empty result.",
                "tags": [
                    "Accounts"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deals/identify": {
            "post": {
                "operationId": "identifyDeals",
                "summary": "Find one record by a unique field",
                "description": "Looks a record up by a field marked as a unique identifier, so an integration can match on its own reference instead of keeping a table of Flexie ids. Send unique_field and unique_field_value. An unknown value is a 404, not an empty result.",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases/identify": {
            "post": {
                "operationId": "identifyCases",
                "summary": "Find one record by a unique field",
                "description": "Looks a record up by a field marked as a unique identifier, so an integration can match on its own reference instead of keeping a table of Flexie ids. Send unique_field and unique_field_value. An unknown value is a 404, not an empty result.",
                "tags": [
                    "Cases"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/contacts/list/filters": {
            "get": {
                "operationId": "listContactFilters",
                "summary": "What this entity can be filtered by",
                "description": "Everything a filter rule may name: the entity's own fields, the ones Flexie maintains such as date_added and the activity counts, the ids of the records it points at, and the fields of every record it is related to. Each entry carries the exact value to send as a rule's `field`, the operators that field accepts, and the shape of value each operator wants. A related field's `field` is an object naming the entity and the field; send it as it comes.",
                "tags": [
                    "Contact"
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/leads/list/filters": {
            "get": {
                "operationId": "listLeadFilters",
                "summary": "What this entity can be filtered by",
                "description": "Everything a filter rule may name: the entity's own fields, the ones Flexie maintains such as date_added and the activity counts, the ids of the records it points at, and the fields of every record it is related to. Each entry carries the exact value to send as a rule's `field`, the operators that field accepts, and the shape of value each operator wants. A related field's `field` is an object naming the entity and the field; send it as it comes.",
                "tags": [
                    "Lead"
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/accounts/list/filters": {
            "get": {
                "operationId": "listAccountsFilters",
                "summary": "What this entity can be filtered by",
                "description": "Everything a filter rule may name: the entity's own fields, the ones Flexie maintains such as date_added and the activity counts, the ids of the records it points at, and the fields of every record it is related to. Each entry carries the exact value to send as a rule's `field`, the operators that field accepts, and the shape of value each operator wants. A related field's `field` is an object naming the entity and the field; send it as it comes.",
                "tags": [
                    "Accounts"
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deals/list/filters": {
            "get": {
                "operationId": "listDealsFilters",
                "summary": "What this entity can be filtered by",
                "description": "Everything a filter rule may name: the entity's own fields, the ones Flexie maintains such as date_added and the activity counts, the ids of the records it points at, and the fields of every record it is related to. Each entry carries the exact value to send as a rule's `field`, the operators that field accepts, and the shape of value each operator wants. A related field's `field` is an object naming the entity and the field; send it as it comes.",
                "tags": [
                    "Deals"
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/cases/list/filters": {
            "get": {
                "operationId": "listCasesFilters",
                "summary": "What this entity can be filtered by",
                "description": "Everything a filter rule may name: the entity's own fields, the ones Flexie maintains such as date_added and the activity counts, the ids of the records it points at, and the fields of every record it is related to. Each entry carries the exact value to send as a rule's `field`, the operators that field accepts, and the shape of value each operator wants. A related field's `field` is an object naming the entity and the field; send it as it comes.",
                "tags": [
                    "Cases"
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/list/filters": {
            "get": {
                "operationId": "listCustomentitiesFilters",
                "summary": "What this entity can be filtered by",
                "description": "Everything a filter rule may name: the entity's own fields, the ones Flexie maintains such as date_added and the activity counts, the ids of the records it points at, and the fields of every record it is related to. Each entry carries the exact value to send as a rule's `field`, the operators that field accepts, and the shape of value each operator wants. A related field's `field` is an object naming the entity and the field; send it as it comes.",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "name": "tableName",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/ce/{tableName}/identify": {
            "post": {
                "operationId": "identifyCustomEntity",
                "summary": "Find one record by a unique field",
                "description": "Looks a record up by a field marked as a unique identifier, so an integration can match on its own reference instead of keeping a table of Flexie ids. Send unique_field and unique_field_value. An unknown value is a 404, not an empty result.",
                "tags": [
                    "Custom entities"
                ],
                "parameters": [
                    {
                        "name": "tableName",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/deals/{id}/associations": {
            "post": {
                "operationId": "addDealAssociations",
                "summary": "Attach records to a deal",
                "description": "Attaches the leads, contacts and accounts named in the body to this deal. Sending a record that is already attached changes nothing.",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "associations": {
                                    "type": "object",
                                    "description": "The records to attach or detach, by id, grouped by what they are.",
                                    "properties": {
                                        "leads": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        },
                                        "contacts": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        },
                                        "accounts": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        }
                                    }
                                }
                            },
                            "required": [
                                "associations"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "delete": {
                "operationId": "removeDealAssociations",
                "summary": "Detach records from a deal",
                "description": "Detaches the leads, contacts and accounts named in the body from this deal. The body is the same shape as the one `POST` takes.",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "associations": {
                                    "type": "object",
                                    "description": "The records to attach or detach, by id, grouped by what they are.",
                                    "properties": {
                                        "leads": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        },
                                        "contacts": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        },
                                        "accounts": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        }
                                    }
                                }
                            },
                            "required": [
                                "associations"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/leads/list/owners": {
            "get": {
                "operationId": "listLeadOwners",
                "summary": "The users leads can be owned by",
                "description": "The users available as an owner on a lead, for populating a picker or validating an owner_id before writing it.",
                "tags": [
                    "Lead"
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/pipelines": {
            "get": {
                "operationId": "listPipelines",
                "summary": "List pipelines",
                "description": "The deal pipelines in this workspace. A deal carries a pipeline_id, and this is where the ids come from.",
                "tags": [
                    "Deals"
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "post": {
                "operationId": "createPipeline",
                "summary": "Create a pipeline",
                "description": "A pipeline needs a name. Its stages are configured in Flexie.",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/pipelines/{id}": {
            "get": {
                "operationId": "getPipeline",
                "summary": "Get one pipeline",
                "description": "One pipeline, by id.",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "put": {
                "operationId": "updatePipeline",
                "summary": "Update a pipeline",
                "description": "Send only the fields that change.",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "patch": {
                "operationId": "patchPipeline",
                "summary": "Update a pipeline",
                "description": "Identical to `PUT` on this path: send only the fields that change.",
                "tags": [
                    "Deals"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/associative-array"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            },
            "delete": {
                "operationId": "deletePipeline",
                "summary": "Delete a pipeline",
                "description": "Deleting a pipeline the deals still sit in is refused.",
                "tags": [
                    "Deals"
                ],
                "responses": {
                    "204": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/stages": {
            "get": {
                "operationId": "listStages",
                "summary": "List pipeline stages",
                "description": "The stages a deal can sit in. A deal carries a stage_id, and this is where the ids come from.",
                "tags": [
                    "Deals"
                ],
                "responses": {
                    "200": {
                        "description": ""
                    },
                    "400": {
                        "$ref": "#/responses/trait:flexieApiRequest:400"
                    },
                    "404": {
                        "$ref": "#/responses/trait:flexieApiRequest:404"
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        },
        "/dynamic_endpoints": {
            "get": {
                "operationId": "listDynamicEndpoints",
                "summary": "List dynamic endpoints",
                "description": "The dynamic endpoints this workspace publishes. A dynamic endpoint is a URL that starts a workflow: another system sends a request to it, the request body becomes the workflow's payload, and the workflow decides what comes back. That is often simpler than the API when a system only needs to push data in.\n\nEach entry says where to send the request, whether it needs a token, which origins a browser may call it from, and what it answers with, so an integration can be wired up from this listing alone. The JWT key and secret are never returned.\n\nOnly endpoints on a published workflow are listed, because those are the only ones that answer a request. Reading this list needs the same permission as viewing workflows. Endpoints are created on the workflow, so this is a listing and nothing else.",
                "tags": [
                    "Dynamic endpoints"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/trait:listParams:limit"
                    },
                    {
                        "$ref": "#/parameters/trait:listParams:start"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/dynamic-endpoint-list"
                        }
                    },
                    "403": {
                        "description": "The role this key belongs to may not view workflows."
                    },
                    "500": {
                        "$ref": "#/responses/trait:flexieApiRequest:500"
                    }
                },
                "security": [
                    {
                        "apikey": []
                    }
                ]
            }
        }
    },
    "parameters": {
        "trait:dynamicGirdParams:orderBy": {
            "name": "orderBy",
            "in": "query",
            "type": "string"
        },
        "trait:dynamicGirdParams:orderByDir": {
            "name": "orderByDir",
            "in": "query",
            "type": "string",
            "enum": [
                "ASC",
                "DESC"
            ]
        },
        "trait:dynamicGirdParams:limit": {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "minimum": 1,
            "maximum": 100
        },
        "trait:dynamicGirdParams:start": {
            "name": "start",
            "in": "query",
            "type": "integer",
            "minimum": 0
        },
        "trait:dynamicGirdParams:entityList": {
            "name": "entityList",
            "in": "query",
            "type": "integer",
            "minimum": 1
        },
        "trait:dynamicGirdParams:search": {
            "name": "search",
            "in": "query",
            "type": "string"
        },
        "trait:listParams:orderBy": {
            "name": "orderBy",
            "in": "query",
            "type": "string"
        },
        "trait:listParams:orderByDir": {
            "name": "orderByDir",
            "in": "query",
            "type": "string",
            "enum": [
                "ASC",
                "DESC"
            ]
        },
        "trait:listParams:limit": {
            "name": "limit",
            "in": "query",
            "type": "integer",
            "minimum": 1,
            "maximum": 100
        },
        "trait:listParams:start": {
            "name": "start",
            "in": "query",
            "type": "integer",
            "minimum": 0
        },
        "trait:listParams:search": {
            "name": "search",
            "in": "query",
            "type": "string"
        }
    },
    "responses": {
        "trait:flexieApiRequest:400": {
            "description": "",
            "schema": {
                "$ref": "#/definitions/bad-request"
            }
        },
        "trait:flexieApiRequest:404": {
            "description": "",
            "schema": {
                "$ref": "#/definitions/not-found"
            }
        },
        "trait:flexieApiRequest:500": {
            "description": ""
        }
    },
    "definitions": {
        "dynamic-grid-filter": {
            "title": "Dynamic Grid Filter",
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "boolean",
                        "number",
                        "text",
                        "select",
                        "selectIn",
                        "country",
                        "region",
                        "timezone",
                        "datetime",
                        "date",
                        "time",
                        "url",
                        "lookup"
                    ]
                },
                "alias": {
                    "type": "string"
                },
                "value": {
                    "$ref": "#/definitions/filter-value"
                },
                "strict": {
                    "type": "boolean"
                },
                "starts": {
                    "type": "boolean"
                },
                "ends": {
                    "type": "boolean"
                }
            },
            "required": [
                "type",
                "alias",
                "value",
                "strict",
                "starts",
                "ends"
            ]
        },
        "filter-value": {
            "title": "Filter Value",
            "type": "object",
            "properties": {
                "input": {
                    "type": "string"
                },
                "operator": {
                    "type": "string",
                    "enum": [
                        "eq",
                        "neq",
                        "gt",
                        "gte",
                        "lt",
                        "lte",
                        "contains",
                        "not_contains",
                        "starts_with",
                        "ends_with",
                        "isNull",
                        "isNotNull",
                        "in",
                        "notIn"
                    ]
                },
                "from": {
                    "type": "string",
                    "format": "date-time"
                },
                "to": {
                    "type": "string",
                    "format": "date-time"
                },
                "id": {
                    "type": "integer",
                    "minimum": 1
                },
                "label": {
                    "type": "string"
                }
            }
        },
        "filter-input": {
            "title": "Filter Input",
            "type": "object",
            "properties": {
                "filters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dynamic-grid-filter"
                    }
                },
                "orderBy": {
                    "type": "string"
                },
                "orderByDir": {
                    "type": "string",
                    "enum": [
                        "ASC",
                        "DESC"
                    ]
                },
                "limit": {
                    "type": "integer",
                    "minimum": 5,
                    "maximum": 100
                },
                "start": {
                    "type": "integer",
                    "minimum": 0
                },
                "entityList": {
                    "type": "integer",
                    "minimum": 1
                },
                "search": {
                    "type": "string"
                }
            }
        },
        "associative-array": {
            "title": "Associative Array",
            "type": "object",
            "additionalProperties": {
                "type": "string"
            }
        },
        "lead-list": {
            "title": "Lead List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "leads": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            },
            "required": [
                "total",
                "leads"
            ]
        },
        "single-lead": {
            "title": "Single Lead",
            "type": "object",
            "properties": {
                "lead": {
                    "type": "object"
                }
            },
            "required": [
                "lead"
            ]
        },
        "note-list": {
            "title": "Note List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "notes": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            },
            "required": [
                "total",
                "notes"
            ]
        },
        "workflow-list": {
            "title": "Workflow List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "workflows": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            },
            "required": [
                "total",
                "workflows"
            ]
        },
        "lists-list": {
            "title": "Lists List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "lists": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            },
            "required": [
                "total",
                "lists"
            ]
        },
        "success": {
            "title": "Success",
            "type": "object",
            "properties": {
                "success": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1
                }
            },
            "required": [
                "success"
            ]
        },
        "single-contact": {
            "title": "Single Contact",
            "type": "object",
            "properties": {
                "contact": {
                    "type": "object"
                }
            },
            "required": [
                "contact"
            ]
        },
        "contact-list": {
            "title": "Contact List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "contacts": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            },
            "required": [
                "total",
                "contacts"
            ]
        },
        "single-account": {
            "title": "Single Account",
            "type": "object",
            "properties": {
                "account": {
                    "type": "object"
                }
            },
            "required": [
                "account"
            ]
        },
        "account-list": {
            "title": "Account List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "accounts": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            },
            "required": [
                "total",
                "accounts"
            ]
        },
        "single-deal": {
            "title": "Single Deal",
            "type": "object",
            "properties": {
                "deal": {
                    "type": "object"
                }
            },
            "required": [
                "deal"
            ]
        },
        "deal-list": {
            "title": "Deal List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "deals": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            },
            "required": [
                "total",
                "deals"
            ]
        },
        "single-case": {
            "title": "Single Case",
            "type": "object",
            "properties": {
                "case": {
                    "type": "object"
                }
            },
            "required": [
                "case"
            ]
        },
        "case-list": {
            "title": "Case List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "cases": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            },
            "required": [
                "total",
                "cases"
            ]
        },
        "reply-list": {
            "title": "Reply List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "replies": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            },
            "required": [
                "total",
                "replies"
            ]
        },
        "single-reply": {
            "title": "Single Reply",
            "type": "object",
            "properties": {
                "reply": {
                    "type": "object"
                }
            },
            "required": [
                "reply"
            ]
        },
        "single-task": {
            "title": "Single Task",
            "type": "object",
            "properties": {
                "task": {
                    "type": "object"
                }
            },
            "required": [
                "task"
            ]
        },
        "task-list": {
            "title": "Task List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "tasks": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            },
            "required": [
                "total",
                "tasks"
            ]
        },
        "single-note": {
            "title": "Single Note",
            "type": "object",
            "properties": {
                "note": {
                    "type": "object"
                }
            },
            "required": [
                "note"
            ]
        },
        "user-list": {
            "title": "User List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            },
            "required": [
                "total",
                "users"
            ]
        },
        "single-report": {
            "title": "Single Report",
            "type": "object",
            "properties": {
                "report": {
                    "type": "object",
                    "properties": {
                        "": {
                            "type": "object"
                        }
                    }
                }
            },
            "required": [
                "report"
            ]
        },
        "report-list": {
            "title": "Report List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "reports": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            },
            "required": [
                "total",
                "reports"
            ]
        },
        "single-email": {
            "title": "Single Email",
            "type": "object",
            "properties": {
                "email": {
                    "type": "object",
                    "properties": {
                        "": {
                            "type": "object"
                        }
                    }
                }
            },
            "required": [
                "email"
            ]
        },
        "email-list": {
            "title": "Email List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "emails": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            },
            "required": [
                "total",
                "emails"
            ]
        },
        "bad-request": {
            "title": "Bad Request",
            "type": "object",
            "properties": {
                "error": {
                    "type": "object",
                    "properties": {
                        "code": {
                            "type": "integer"
                        },
                        "message": {
                            "type": "string"
                        }
                    },
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            }
        },
        "not-found": {
            "title": "Not Found",
            "type": "object",
            "properties": {
                "error": {
                    "type": "object",
                    "properties": {
                        "message": {
                            "type": "string"
                        },
                        "code": {
                            "type": "integer"
                        }
                    }
                }
            },
            "required": [
                "error"
            ]
        },
        "dynamic-endpoint": {
            "title": "Dynamic Endpoint",
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer",
                    "description": "Identifies the endpoint."
                },
                "name": {
                    "type": "string",
                    "description": "The name given to the endpoint on the workflow."
                },
                "url": {
                    "type": "string",
                    "description": "The address to send the request to. Treat it as a secret: whoever holds it can run the workflow."
                },
                "authentication_required": {
                    "type": "boolean",
                    "description": "Whether a request has to carry a signed JWT, in an `Authorization: Bearer` header or a `token` header. When false, holding the URL is all it takes."
                },
                "cors_origins": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The origins a browser may call this endpoint from. Null means cross-origin calls are off, so only server-to-server calls get through. A single `*` means any origin.",
                    "x-nullable": true
                },
                "response_type": {
                    "type": "string",
                    "description": "What the endpoint sends back. `data` and `html` return a fixed body, `redirect` sends a 302, `continue` lets the workflow decide, and `sse` streams events as the workflow runs.",
                    "enum": [
                        "data",
                        "html",
                        "redirect",
                        "continue",
                        "sse"
                    ]
                },
                "workflow_id": {
                    "type": "integer",
                    "description": "The workflow this endpoint starts."
                },
                "workflow_name": {
                    "type": "string",
                    "description": "The name of that workflow."
                }
            },
            "required": [
                "id",
                "name",
                "url",
                "authentication_required",
                "cors_origins",
                "response_type",
                "workflow_id",
                "workflow_name"
            ]
        },
        "dynamic-endpoint-list": {
            "title": "Dynamic Endpoint List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer"
                },
                "dynamic_endpoints": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dynamic-endpoint"
                    }
                }
            },
            "required": [
                "total",
                "dynamic_endpoints"
            ]
        }
    }
}
