{
    "swagger": "2.0",
    "info": {
        "title": "Collector Services",
        "description": "API for Collector Services",
        "version": "1.0.0"
    },
    "host": "api.bgbm.org",
    "schemes": [
        "https"
    ],
    "basePath": "/collector/v1/",
    "produces": [
        "application/ld+json",
        "application/rdf+xml"
    ],
    "paths": {
            "/{id}/": {
                    "get": {
                            "summary": "Get information about a specific collector.",
                            "description": "Gets all information about the collector with the specified id.\n",
                            "tags": [
                                    "Collector"
                            ],
                            "parameters": [
                                    {
                                            "name": "id",
                                            "in": "path",
                                            "description": "Id of a collector.",
                                            "required": true,
                                            "type": "string",
                                            "example": "Q3822242"
                                    }
                            ],
                            "responses": {
                                    "200": {
                                            "description": "OK",
                                            "schema": {
                                                    "$ref": "#/definitions/CollectorResponse"
                                            }
                                    },
                                    "404": {
                                            "description": "Not found",
                                            "schema": {
                                                    "$ref": "#/definitions/Error"
                                            }
                                    },
                                    "500": {
                                            "description": "Internal error",
                                            "schema": {
                                                    "$ref": "#/definitions/Error"
                                            }
                                    }
                            }
                    }
            },
            "/{id}/biography": {
                    "get": {
                            "summary": "Get biography information about a specific collector.",
                            "description": "Gets biography information about the collector with the specified id.\n",
                            "tags": [
                                    "Collector"
                            ],
                            "parameters": [
                                    {
                                            "name": "id",
                                            "in": "path",
                                            "description": "Id of a collector.",
                                            "required": true,
                                            "type": "string",
                                            "example": "44697854"
                                    }
                            ],
                            "responses": {
                                    "200": {
                                            "description": "OK",
                                            "schema": {
                                                    "$ref": "#/definitions/CollectorResponse"
                                            }
                                    },
                                    "404": {
                                            "description": "Not found",
                                            "schema": {
                                                    "$ref": "#/definitions/Error"
                                            }
                                    },
                                    "500": {
                                            "description": "Internal error",
                                            "schema": {
                                                    "$ref": "#/definitions/Error"
                                            }
                                    }
                            }
                    }
            },
            "/{id}/bibliography": {
                    "get": {
                            "summary": "Get literature and media information about a specific collector.",
                            "description": "Gets literature and media information about the collector with the specified id.\n",
                            "tags": [
                                    "Collector"
                            ],
                            "parameters": [
                                    {
                                            "name": "id",
                                            "in": "path",
                                            "description": "Id of a collector.",
                                            "required": true,
                                            "type": "string",
                                            "example": "Q355888"
                                    }
                            ],
                            "responses": {
                                    "200": {
                                            "description": "OK",
                                            "schema": {
                                                    "$ref": "#/definitions/CollectorResponse"
                                            }
                                    },
                                    "404": {
                                            "description": "Not found",
                                            "schema": {
                                                    "$ref": "#/definitions/Error"
                                            }
                                    },
                                    "500": {
                                            "description": "Internal error",
                                            "schema": {
                                                    "$ref": "#/definitions/Error"
                                            }
                                    }
                            }
                    }
            },
            "/{id}/collection": {
                    "get": {
                            "summary": "Get collection information about a specific collector.",
                            "description": "Gets collection information about the collector with the specified id.\n",
                            "tags": [
                                    "Collector"
                            ],
                            "parameters": [
                                    {
                                            "name": "id",
                                            "in": "path",
                                            "description": "Id of a collector.",
                                            "required": true,
                                            "type": "string",
                                            "example": "7525584"
                                    },
                                    {
                                            "name": "page",
                                            "in": "query",
                                            "description": "Page of the collection.",
                                            "required": false,
                                            "type": "string",
                                            "example": "2"
                                    }
                            ],
                            "responses": {
                                    "200": {
                                            "description": "OK",
                                            "schema": {
                                                    "$ref": "#/definitions/CollectorResponse"
                                            }
                                    },
                                    "404": {
                                            "description": "Not found",
                                            "schema": {
                                                    "$ref": "#/definitions/Error"
                                            }
                                    },
                                    "500": {
                                            "description": "Internal error",
                                            "schema": {
                                                    "$ref": "#/definitions/Error"
                                            }
                                    }
                            }
                    }
            }
    },
    "definitions": {
        "CollectorResponse": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "string",
                    "description": "The status of the request"
                },
                "result": {
                    "type": "array",
                    "description": "The collector data objects",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "Error": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "string",
                    "description": "The status of the request"
                        }
                }
        }
}
}
