{
    "openapi": "3.1.2",
    "info": {
        "title": "revicore API",
        "version": "1",
        "description": "The revicore REST API. A request acts as the user who connected the app, with exactly that\nuser's permissions in revicore, in that user's firm. Only users can connect apps.\n\n## Authentication\n\nOAuth 2.1, authorization code grant with PKCE (`S256`, required for every client). Apps are\nregistered by revicore (`php artisan oauth:client`); there are no API keys and no scopes.\n\n1. Send the user to `\/oauth\/authorize` with `client_id`, `redirect_uri`, `response_type=code`,\n   `state`, `code_challenge` and `code_challenge_method=S256`. The user logs in and allows access.\n2. Exchange the returned `code` at `\/oauth\/token` (`grant_type=authorization_code`, with the\n   `code_verifier`).\n3. Call the API with `Authorization: Bearer <access_token>`. Cookies are never accepted.\n\nAccess tokens live 30 minutes. Refresh them at `\/oauth\/token` with `grant_type=refresh_token`:\neach refresh token works once, and presenting a used one again revokes all the app's tokens for\nthat user. Users can remove an app's access under Settings > Connected apps. Endpoint discovery:\n`\/.well-known\/oauth-authorization-server` (RFC 8414).\n\n## Errors and limits\n\n- `401` with `WWW-Authenticate: Bearer`: missing, invalid, expired or revoked token.\n- `403`: the user may no longer use the API (deleted, suspended firm or a contact).\n- `404`: unknown path, or a record the user may not see.\n- `429`: more than 120 requests a minute per user (600 per firm); see `Retry-After`."
    },
    "servers": [
        {
            "url": "https:\/\/secure.revicore.net\/api\/v1"
        }
    ],
    "tags": [
        {
            "name": "Users"
        },
        {
            "name": "Persons"
        },
        {
            "name": "Template"
        }
    ],
    "security": [
        {
            "oauth2": []
        }
    ],
    "paths": {
        "\/persons": {
            "get": {
                "operationId": "v1.persons.index",
                "description": "The persons the user sees in the web person list (persons of the user's firm and of\ncollaborating firms; a user without the admin or global-manager role sees the persons\nof their assigned clients), not deleted, ordered by name, paginated.",
                "summary": "List persons",
                "tags": [
                    "Persons"
                ],
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "description": "Part of the person's first or last name, email, address, person number or id.",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 100
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `PersonResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/PersonResource"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "v1.persons.store",
                "description": "In the user's firm, as the web's \"new person\" dialog: the next person number, the birthday\nfrom the CPR number (else `birthday`), a folder, the PEP and EU sanctions check and periods\nfor this and last year. A CPR number must be 10 digits starting with a real date (DDMMYY).\nAnother person of the firm with the same first and last name, or the same e-mail, is\nrefused (422).",
                "summary": "Create a person",
                "tags": [
                    "Client"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StorePersonRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`PersonResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/PersonResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/persons\/bulk-delete": {
            "post": {
                "operationId": "v1.persons.bulk-delete",
                "description": "Soft deletes the persons the user may delete and skips the rest (ids that don't exist,\naren't persons, are already deleted or aren't the user's firm's), as the web's bulk delete\ndoes. `deleted` and `not_deleted` list the ids.",
                "summary": "Delete several persons",
                "tags": [
                    "Persons"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/BulkDeleteClientsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "deleted": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        },
                                        "not_deleted": {
                                            "type": "array",
                                            "items": {}
                                        }
                                    },
                                    "required": [
                                        "deleted",
                                        "not_deleted"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/persons\/{person}": {
            "get": {
                "operationId": "v1.persons.show",
                "description": "Also a deleted person the user may open, by its id.",
                "summary": "Get a person",
                "tags": [
                    "Persons"
                ],
                "parameters": [
                    {
                        "name": "person",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`PersonResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/PersonResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "v1.persons.destroy",
                "description": "Soft delete, as in the web: the person disappears from Revicore, its CPR number is removed\nand its links to clients are removed. Only the user's own firm's persons; one already\ndeleted is a 404. Deletes directly; there is no approval step in the API.",
                "summary": "Delete a person",
                "tags": [
                    "Persons"
                ],
                "parameters": [
                    {
                        "name": "person",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "operationId": "v1.persons.update",
                "description": "Changes the fields that are sent, as saving the person's profile in the web does; a field\nsent as null is cleared, fields that are left out keep their value. A new CPR number must\nbe 10 digits starting with a real date and, without `birthday`, also sets the birthday.\nOnly the user's own firm's persons (404 otherwise).",
                "summary": "Update a person",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "person",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/UpdatePersonRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`PersonResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/PersonResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/persons\/{person}\/periods": {
            "get": {
                "operationId": "v1.persons.periods",
                "description": "For `period` of a task. Access as in the web (client-authenticate).",
                "summary": "List a person's periods",
                "tags": [
                    "Persons"
                ],
                "parameters": [
                    {
                        "name": "person",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of `PeriodResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/PeriodResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/task-templates": {
            "get": {
                "operationId": "v1.task-templates.index",
                "description": "The firm's templates a task can be created from: the current published version of each\n(drafts are not offered). Use the id as `task_template` when creating a task.",
                "summary": "List task templates",
                "tags": [
                    "Template"
                ],
                "parameters": [
                    {
                        "name": "query",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of `TaskTemplateResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/TaskTemplateResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/me": {
            "get": {
                "operationId": "v1.me",
                "description": "The user the access token was issued to, and the firm API requests act in.",
                "summary": "Who the token belongs to",
                "tags": [
                    "Users"
                ],
                "responses": {
                    "200": {
                        "description": "`MeResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#\/components\/schemas\/MeResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/screen": {
            "get": {
                "operationId": "v1.screen",
                "description": "The last page the user's most recently active revicore web session loaded, and the task,\nclient or person it shows (`type` null for other pages; `step_id` for a task's step). `data`\nis null without an active web session. Going back to another tab without reloading it isn't\nseen. The record itself is read with its own endpoint, which checks access.",
                "summary": "The page the user has open",
                "tags": [
                    "Users"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": [
                                                "object",
                                                "null"
                                            ],
                                            "properties": {
                                                "type": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "id": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ]
                                                },
                                                "step_id": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ]
                                                },
                                                "url": {
                                                    "type": "string"
                                                },
                                                "last_active_at": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "type",
                                                "id",
                                                "step_id",
                                                "url",
                                                "last_active_at"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/users": {
            "get": {
                "operationId": "v1.accountants.index",
                "description": "The firm's active users, for `assigned_to` and `approver` of a task. `current` marks\nthe token's user.",
                "summary": "List users",
                "tags": [
                    "Users"
                ],
                "responses": {
                    "200": {
                        "description": "Array of `UserResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/UserResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/clients": {
            "get": {
                "operationId": "v1.clients.index",
                "description": "The clients the user sees in the web client list (a user without the admin or\nglobal-manager role sees their assigned clients), ordered by name, paginated. Includes the\nclients collaborating firms share with the user's firm (their `firm_id` is the other\nfirm's); `shared=false` leaves them out. Tasks can only be created for the user's own\nfirm's clients.",
                "summary": "List clients",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 100
                        }
                    },
                    {
                        "name": "shared",
                        "in": "query",
                        "schema": {
                            "type": [
                                "boolean",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `ClientResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/ClientResource"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "v1.clients.store",
                "description": "In the user's firm, as the web's \"new client\" dialog: with the business registry's data for\nits CVR, its accounting periods (the published annual reports, else the first period\nregistered in CVR, else the current and previous fiscal year from `period`) and its folder.\nFor prospects and clients (`relation`) the persons from the registry are imported (only\nthose whose registry ids are in `contacts`, when given). The CVR must not belong to another\nclient of the firm (422).",
                "summary": "Create a client",
                "tags": [
                    "Client"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StoreClientRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`ClientResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/ClientResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "pages"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/clients\/from-cvr": {
            "post": {
                "operationId": "v1.clients.store-from-cvr",
                "description": "Name, company type, address and contact details come from the business registry; otherwise\nas creating a client. `directors`, `board` and `owners` choose which persons are imported\nfor prospects and clients; all false imports none. An unregistered CVR, or one another\nclient of the firm has, is refused (422).",
                "summary": "Create a client from its CVR number",
                "tags": [
                    "Client"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StoreClientFromCvrRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`ClientResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/ClientResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "pages"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/clients\/bulk-delete": {
            "post": {
                "operationId": "v1.clients.bulk-delete",
                "description": "Soft deletes the clients the user may delete and skips the rest (ids that don't exist,\naren't clients, are already deleted or aren't the user's firm's), as the web's bulk delete\ndoes. `deleted` and `not_deleted` list the ids.",
                "summary": "Delete several clients",
                "tags": [
                    "Client"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/BulkDeleteClientsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "deleted": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        },
                                        "not_deleted": {
                                            "type": "array",
                                            "items": {}
                                        }
                                    },
                                    "required": [
                                        "deleted",
                                        "not_deleted"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/clients\/{client}": {
            "get": {
                "operationId": "v1.clients.show",
                "description": "Also a deleted client the user may open, by its id.",
                "summary": "Get a client",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "client",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`ClientResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/ClientResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "pages"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "operationId": "v1.clients.update",
                "description": "Changes the fields that are sent, as saving the client's profile in the web does; a field\nsent as null is cleared, fields that are left out keep their value. An empty `period` is\nstored as empty and an empty `creationDate` as today. `pages` replaces the client's web\npages (invalid URLs are dropped). A new `cvr` must not belong to another client of the firm\n(422) and refreshes the client's registry data, adding the registry's periods the client\ndoesn't have. Renaming moves the client's folder.",
                "summary": "Update a client",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "client",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/UpdateClientRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ClientResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/ClientResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "pages"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "v1.clients.destroy",
                "description": "Soft delete, as in the web: the client disappears from Revicore, its CVR is freed for a new\nclient and its links to persons are removed (the persons are kept). Only the user's own\nfirm's clients; a client a collaborating firm shares, or one already deleted, is a 404.\nDeletes directly; there is no approval step in the API.",
                "summary": "Delete a client",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "client",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/clients\/{client}\/periods": {
            "get": {
                "operationId": "v1.clients.periods",
                "description": "For `period` of a task. Access as in the web (client-authenticate).",
                "summary": "List a client's periods",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "client",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of `PeriodResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/PeriodResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/persons\/{person}\/clients": {
            "get": {
                "operationId": "v1.persons.clients",
                "description": "The clients the person is linked to (as director, owner, contact etc.) that the user may\nsee, ordered by name, not deleted.",
                "summary": "List a person's clients",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "person",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of `ClientResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/ClientResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "v1.persons.link",
                "description": "As the person's \"add connection\" dialog in the web: only clients the user may access; the\nperson itself and clients it is already linked to are skipped. `linked` and `not_linked`\nlist the client ids. Only the user's own firm's persons (404 otherwise).",
                "summary": "Link a person to clients",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "person",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/LinkPersonRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "linked": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        },
                                        "not_linked": {
                                            "type": "array",
                                            "items": {}
                                        }
                                    },
                                    "required": [
                                        "linked",
                                        "not_linked"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/persons\/{person}\/clients\/{client}": {
            "delete": {
                "operationId": "v1.persons.unlink",
                "description": "Removes the link (soft, as in the web); the person and the client are kept. 404 when they\naren't linked.",
                "summary": "Unlink a person from a client",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "person",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "client",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/tasks": {
            "get": {
                "operationId": "v1.tasks.index",
                "description": "The tasks the user sees in the web task lists (a user without the admin or\nglobal-manager role sees the tasks of their assigned clients), filtered, sorted by execution\ndate, paginated.",
                "summary": "List tasks",
                "tags": [
                    "Task"
                ],
                "parameters": [
                    {
                        "name": "due_from",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "due_to",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "execution_from",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "execution_to",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "clients[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "templates[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "name": "statuses[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "client_types[]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `TaskResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/TaskResource"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "v1.tasks.store",
                "description": "From a task template (with its steps) or without one (then `execution_date` is\nrequired). `task_template` is an id from \/task-templates. `client`, `task_template`, `period`,\n`assigned_to` and `approver` must belong to the user's firm. `period` is a period id, or with\na template the name of one of the template's default periods (created for the client if\nneeded). `assigned_to` and `approver` are ids from \/users.",
                "summary": "Create a task",
                "tags": [
                    "Task"
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StoreTaskRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`TaskResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/TaskResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "task_template"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/tasks\/reschedule": {
            "post": {
                "operationId": "v1.tasks.reschedule",
                "description": "Moves one or more tasks to new execution dates (`updates`: task id => date), as dragging\nthem in the web calendar does. All or nothing: if any task doesn't exist or isn't the\nuser's, nothing is changed (404).",
                "summary": "Reschedule tasks",
                "tags": [
                    "Task"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/RescheduleTasksRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/tasks\/bulk-delete": {
            "post": {
                "operationId": "v1.tasks.bulk-delete",
                "description": "Soft deletes the tasks the user may delete and skips the rest (ids that don't exist or\naren't the user's), as the web's bulk delete does. `deleted` and `not_deleted` list the ids.",
                "summary": "Delete several tasks",
                "tags": [
                    "Task"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/BulkDeleteTasksRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "deleted": {
                                            "type": "array",
                                            "items": {
                                                "type": "integer"
                                            }
                                        },
                                        "not_deleted": {
                                            "type": "array",
                                            "items": {}
                                        }
                                    },
                                    "required": [
                                        "deleted",
                                        "not_deleted"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/tasks\/{task}": {
            "get": {
                "operationId": "v1.tasks.show",
                "summary": "Get a task",
                "tags": [
                    "Task"
                ],
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`TaskResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/TaskResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "task_template"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "operationId": "v1.tasks.update",
                "description": "Changes the fields that are sent; fields that are left out or empty keep their value. A\n`client` that is sent sets the client (null removes it). The template can't be changed.\nIds must belong to the user's firm; a `period` without a `client` must belong to the task's\nclient.",
                "summary": "Update a task",
                "tags": [
                    "Task"
                ],
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/UpdateTaskRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`TaskResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/TaskResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "task_template"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "v1.tasks.destroy",
                "description": "Soft delete, as in the web: the task disappears from Revicore. Deletes directly; there is no\napproval step in the API.",
                "summary": "Delete a task",
                "tags": [
                    "Task"
                ],
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/tasks\/{task}\/status": {
            "post": {
                "operationId": "v1.tasks.status",
                "description": "The same rules as the task page's buttons: `Closed` closes a task, but a task whose template\nrequires approval goes to `Reviewing` instead (and its approvers are notified), unless it is\nin review already, which approves it. `Completed` reopens a task, `Reviewing` requests a\nreview, `Rejected` rejects a task in review, `Archived` archives it. The response has the\nstatus the task actually got.",
                "summary": "Change a task's status",
                "tags": [
                    "Task"
                ],
                "parameters": [
                    {
                        "name": "task",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/ChangeTaskStatusRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`TaskResource`",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/TaskResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "task_template"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found: a record doesn't exist, is deleted or belongs to another firm (all look the same).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    },
                    "401": {
                        "description": "Missing, invalid, expired or revoked access token (`WWW-Authenticate: Bearer`).",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The token's user may no longer use the API.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too many requests; see `Retry-After`.",
                        "content": {
                            "application\/problem+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string"
                                        },
                                        "title": {
                                            "type": "string"
                                        },
                                        "status": {
                                            "type": "integer"
                                        },
                                        "detail": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "type",
                                        "title",
                                        "status"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "oauth2": {
                "type": "oauth2",
                "description": "OAuth 2.1 authorization code with PKCE (S256). Send the access token as `Authorization: Bearer <token>`. No scopes: a token has its user's permissions.",
                "flows": {
                    "authorizationCode": {
                        "authorizationUrl": "https:\/\/secure.revicore.net\/oauth\/authorize",
                        "tokenUrl": "https:\/\/secure.revicore.net\/oauth\/token",
                        "refreshUrl": "https:\/\/secure.revicore.net\/oauth\/token",
                        "scopes": {}
                    }
                }
            }
        },
        "schemas": {
            "BulkDeleteClientsRequest": {
                "type": "object",
                "properties": {
                    "ids": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "minItems": 1,
                        "maxItems": 500,
                        "uniqueItems": true
                    }
                },
                "required": [
                    "ids"
                ],
                "title": "BulkDeleteClientsRequest"
            },
            "BulkDeleteTasksRequest": {
                "type": "object",
                "properties": {
                    "ids": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "minItems": 1,
                        "maxItems": 500,
                        "uniqueItems": true
                    }
                },
                "required": [
                    "ids"
                ],
                "title": "BulkDeleteTasksRequest"
            },
            "ChangeTaskStatusRequest": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "string",
                        "description": "Closed (close, or approve a task in review), Completed (reopen), Reviewing (request review), Rejected (reject a task in review) or Archived.",
                        "enum": [
                            "Completed",
                            "Reviewing",
                            "Closed",
                            "Rejected",
                            "Archived"
                        ]
                    }
                },
                "required": [
                    "status"
                ],
                "title": "ChangeTaskStatusRequest"
            },
            "ClientResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "firm_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "The firm the client belongs to; another firm's id for a client a collaborating firm shares."
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "deleted": {
                        "type": "boolean",
                        "description": "The client is deleted (it can still be opened by its id)."
                    },
                    "client_nr": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The client number."
                    },
                    "cvr": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "type": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "The company type (its formcode, e.g. 80 for ApS)."
                    },
                    "state": {
                        "type": "string",
                        "description": "The client's relation to the firm."
                    },
                    "color": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "addresstwo": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "zip": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "city": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "country": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "telephone": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "fax": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "www": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "language": {
                        "type": "string"
                    },
                    "period": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The start of the fiscal year (Y-m-d)."
                    },
                    "creationDate": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "When the company was founded (Y-m-d)."
                    },
                    "active": {
                        "type": "boolean"
                    },
                    "auto_update": {
                        "type": "boolean",
                        "description": "Update the client from the business registry automatically."
                    },
                    "business_code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The main industry code from the registry."
                    },
                    "section": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "pages": {
                        "type": "array",
                        "description": "The web pages scraped for the client's profile. Only on a single client.",
                        "items": {}
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "firm_id",
                    "name",
                    "deleted",
                    "client_nr",
                    "cvr",
                    "type",
                    "state",
                    "color",
                    "address",
                    "addresstwo",
                    "zip",
                    "city",
                    "country",
                    "telephone",
                    "fax",
                    "email",
                    "www",
                    "language",
                    "period",
                    "creationDate",
                    "active",
                    "auto_update",
                    "business_code",
                    "section",
                    "created_at",
                    "updated_at"
                ],
                "title": "ClientResource"
            },
            "LinkPersonRequest": {
                "type": "object",
                "properties": {
                    "client_ids": {
                        "type": "array",
                        "description": "The clients to link the person to.",
                        "items": {
                            "type": "integer"
                        },
                        "minItems": 1,
                        "maxItems": 500
                    }
                },
                "required": [
                    "client_ids"
                ],
                "title": "LinkPersonRequest"
            },
            "MeResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "lastname": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "email": {
                        "type": "string"
                    },
                    "firm": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "id",
                            "name"
                        ]
                    }
                },
                "required": [
                    "id",
                    "name",
                    "lastname",
                    "email",
                    "firm"
                ],
                "title": "MeResource"
            },
            "PeriodResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "from": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "to": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "is_open": {
                        "type": "boolean",
                        "description": "The period hasn't ended yet."
                    }
                },
                "required": [
                    "id",
                    "name",
                    "from",
                    "to",
                    "is_open"
                ],
                "title": "PeriodResource"
            },
            "PersonResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "firm_id": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "The firm the person belongs to."
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "First and last name."
                    },
                    "firstname": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "lastname": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "person_nr": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The person number."
                    },
                    "cpr": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "The CPR number (Danish personal identification number)."
                    },
                    "birthday": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Date of birth (Y-m-d)."
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "telephone": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "mobile": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "addresstwo": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "zip": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "city": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "country": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "language": {
                        "type": "string"
                    },
                    "active": {
                        "type": "boolean"
                    },
                    "deleted": {
                        "type": "boolean",
                        "description": "The person is deleted (it can still be opened by its id)."
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "firm_id",
                    "name",
                    "firstname",
                    "lastname",
                    "person_nr",
                    "cpr",
                    "birthday",
                    "email",
                    "telephone",
                    "mobile",
                    "address",
                    "addresstwo",
                    "zip",
                    "city",
                    "country",
                    "language",
                    "active",
                    "deleted",
                    "created_at",
                    "updated_at"
                ],
                "title": "PersonResource"
            },
            "RescheduleTasksRequest": {
                "type": "object",
                "properties": {
                    "updates": {
                        "type": "array",
                        "description": "task id => new execution date (anything Carbon::parse() reads)",
                        "items": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "minItems": 1,
                        "maxItems": 500
                    }
                },
                "required": [
                    "updates"
                ],
                "title": "RescheduleTasksRequest"
            },
            "StoreClientFromCvrRequest": {
                "type": "object",
                "properties": {
                    "cvr": {
                        "type": "string"
                    },
                    "relation": {
                        "type": "string",
                        "enum": [
                            "none",
                            "prospect",
                            "client",
                            "former",
                            "former_prospect",
                            "other"
                        ]
                    },
                    "directors": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "board": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "owners": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    }
                },
                "required": [
                    "cvr",
                    "relation"
                ],
                "title": "StoreClientFromCvrRequest"
            },
            "StoreClientRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 191
                    },
                    "cvr": {
                        "type": "string",
                        "maxLength": 8
                    },
                    "type": {
                        "type": "integer"
                    },
                    "relation": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "enum": [
                            "none",
                            "prospect",
                            "client",
                            "former",
                            "former_prospect",
                            "other",
                            null
                        ]
                    },
                    "period": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "creationDate": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "addresstwo": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "country": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "city": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "zip": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "telephone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "fax": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "www": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "contacts": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "integer"
                        },
                        "maxItems": 200
                    },
                    "customers": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "integer"
                        },
                        "maxItems": 200
                    }
                },
                "required": [
                    "name",
                    "cvr",
                    "type"
                ],
                "title": "StoreClientRequest"
            },
            "StorePersonRequest": {
                "type": "object",
                "properties": {
                    "firstname": {
                        "type": "string",
                        "maxLength": 191
                    },
                    "lastname": {
                        "type": "string",
                        "maxLength": 191
                    },
                    "cpr": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "birthday": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "email",
                        "maxLength": 191
                    },
                    "telephone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "mobile": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "addresstwo": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "zip": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "city": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "country": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "language": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    }
                },
                "required": [
                    "firstname",
                    "lastname"
                ],
                "title": "StorePersonRequest"
            },
            "StoreTaskRequest": {
                "type": "object",
                "properties": {
                    "task_template": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "A template id from \/task-templates."
                    },
                    "client": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "period": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "title": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 500
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "tags": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "assigned_to": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "A user id from \/users (`current` is the token's own user)."
                    },
                    "approver": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "checklist": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "object",
                            "properties": {
                                "index": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "text": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "checked": {
                                    "type": [
                                        "boolean",
                                        "null"
                                    ]
                                },
                                "taskid": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                }
                            },
                            "required": [
                                "text"
                            ]
                        }
                    },
                    "due_date": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "execution_date": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "description": "without a template there is no default; the column can't be empty"
                    }
                },
                "title": "StoreTaskRequest"
            },
            "TaskResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "title": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "status": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "For example Active, Completed, Reviewing, Closed, Rejected or Archived."
                    },
                    "deleted": {
                        "type": "boolean",
                        "description": "The task is deleted (it can still be opened by its id)."
                    },
                    "tags": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "client": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "number": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "number"
                        ]
                    },
                    "task_template": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "description": "The task's own copy of the template it was created from (null for a task without one).\n`template_id` is the template itself, as listed by \/task-templates.",
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "template_id": {
                                "type": [
                                    "integer",
                                    "null"
                                ]
                            },
                            "name": {
                                "type": "string"
                            },
                            "custom_id": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "template_id",
                            "name",
                            "custom_id"
                        ]
                    },
                    "period": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "from": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "to": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "from",
                            "to"
                        ]
                    },
                    "assigned_to": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "A user id from \/users."
                    },
                    "approver": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "A user id from \/users."
                    },
                    "checklist": {
                        "type": "array",
                        "items": {}
                    },
                    "due_date": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "execution_date": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "title",
                    "description",
                    "status",
                    "deleted",
                    "tags",
                    "assigned_to",
                    "approver",
                    "checklist",
                    "due_date",
                    "execution_date",
                    "created_at"
                ],
                "title": "TaskResource"
            },
            "TaskTemplateResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "custom_id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "status": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Published, or Draft for a template that was never published."
                    },
                    "every": {
                        "type": "string",
                        "description": "How often the template is scheduled: 1 year, Quarter, 1 month, 1 week or Unscheduled."
                    }
                },
                "required": [
                    "id",
                    "name",
                    "custom_id",
                    "description",
                    "status",
                    "every"
                ],
                "title": "TaskTemplateResource"
            },
            "UpdateClientRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 191
                    },
                    "client_nr": {
                        "type": "string",
                        "maxLength": 191
                    },
                    "cvr": {
                        "type": "string",
                        "maxLength": 8
                    },
                    "type": {
                        "type": "integer"
                    },
                    "state": {
                        "type": "string",
                        "enum": [
                            "none",
                            "prospect",
                            "client",
                            "former",
                            "former_prospect",
                            "other"
                        ]
                    },
                    "language": {
                        "type": "string",
                        "maxLength": 191
                    },
                    "color": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 20
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "addresstwo": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "country": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "city": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "zip": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "telephone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "fax": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "www": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "period": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "creationDate": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "active": {
                        "type": "boolean"
                    },
                    "auto_update": {
                        "type": "boolean"
                    },
                    "pages": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "maxLength": 2048
                        },
                        "maxItems": 50
                    }
                },
                "title": "UpdateClientRequest"
            },
            "UpdatePersonRequest": {
                "type": "object",
                "properties": {
                    "firstname": {
                        "type": "string",
                        "maxLength": 191
                    },
                    "lastname": {
                        "type": "string",
                        "maxLength": 191
                    },
                    "cpr": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "birthday": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "person_nr": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "email",
                        "maxLength": 191
                    },
                    "color": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 20
                    },
                    "active": {
                        "type": "boolean"
                    },
                    "telephone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "mobile": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "addresstwo": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "zip": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "city": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "country": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    },
                    "language": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 191
                    }
                },
                "title": "UpdatePersonRequest"
            },
            "UpdateTaskRequest": {
                "type": "object",
                "properties": {
                    "client": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "period": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "title": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 500
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "tags": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "assigned_to": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "description": "A user id from \/users (`current` is the token's own user)."
                    },
                    "approver": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "checklist": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "object",
                            "properties": {
                                "index": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "text": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "checked": {
                                    "type": [
                                        "boolean",
                                        "null"
                                    ]
                                },
                                "taskid": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                }
                            },
                            "required": [
                                "text"
                            ]
                        }
                    },
                    "due_date": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "execution_date": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time",
                        "description": "without a template there is no default; the column can't be empty"
                    }
                },
                "title": "UpdateTaskRequest"
            },
            "UserResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "firstname": {
                        "type": "string"
                    },
                    "lastname": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "current": {
                        "type": "boolean",
                        "description": "This is the token's user."
                    }
                },
                "required": [
                    "id",
                    "firstname",
                    "lastname",
                    "current"
                ],
                "title": "UserResource"
            }
        },
        "responses": {
            "ValidationException": {
                "description": "Validation error",
                "content": {
                    "application\/problem+json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "type": {
                                    "type": "string"
                                },
                                "title": {
                                    "type": "string"
                                },
                                "status": {
                                    "type": "integer"
                                },
                                "detail": {
                                    "type": "string"
                                },
                                "errors": {
                                    "type": "object",
                                    "additionalProperties": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "required": [
                                "type",
                                "title",
                                "status",
                                "errors"
                            ]
                        }
                    }
                }
            },
            "ModelNotFoundException": {
                "description": "Not found",
                "content": {
                    "application\/problem+json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "type": {
                                    "type": "string"
                                },
                                "title": {
                                    "type": "string"
                                },
                                "status": {
                                    "type": "integer"
                                },
                                "detail": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "type",
                                "title",
                                "status"
                            ]
                        }
                    }
                }
            },
            "NotFoundHttpException": {
                "description": "Not found",
                "content": {
                    "application\/problem+json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "type": {
                                    "type": "string"
                                },
                                "title": {
                                    "type": "string"
                                },
                                "status": {
                                    "type": "integer"
                                },
                                "detail": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "type",
                                "title",
                                "status"
                            ]
                        }
                    }
                }
            }
        }
    }
}