{"swagger":"2.0","info":{"title":"Congo","description":"Congo","contact":{"name":"congo","email":"congo","url":"https://congo.com"},"version":""},"host":"congo.gopheracademy.com","basePath":"/api","schemes":["https"],"consumes":["application/json","application/xml","application/gob","application/x-gob"],"produces":["application/json","application/xml","application/gob","application/x-gob"],"paths":{"/admin/users":{"get":{"description":"List all users\n\n** Required security scopes**:\n","operationId":"adminuser#list","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/UserCollection"}},"404":{"description":"Not Found"}},"schemes":["https"]},"post":{"description":"Record new user\n\n** Required security scopes**:\n","operationId":"adminuser#create","parameters":[{"name":"payload","in":"body","required":true,"schema":{"$ref":"#/definitions/CreateAdminuserPayload"}}],"responses":{"201":{"description":"Resource created","headers":{"Location":{"description":"href to created resource","type":"string","pattern":"^/admin/users/[0-9]+$"}}}},"schemes":["https"]}},"/admin/users/{userID}":{"get":{"description":"Retrieve user with given id\n\n** Required security scopes**:\n","operationId":"adminuser#show","parameters":[{"name":"userID","in":"path","required":true,"type":"integer"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/User"}},"404":{"description":"Not Found"}},"schemes":["https"]},"delete":{"description":"\n\n** Required security scopes**:\n","operationId":"adminuser#delete","parameters":[{"name":"userID","in":"path","description":"UserID ","required":true,"type":"integer"}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}},"schemes":["https"]},"patch":{"description":"\n\n** Required security scopes**:\n","operationId":"adminuser#update","parameters":[{"name":"userID","in":"path","required":true,"type":"integer"},{"name":"payload","in":"body","required":true,"schema":{"$ref":"#/definitions/UpdateAdminuserPayload"}}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}},"schemes":["https"]}},"/auth/refresh":{"post":{"description":"Obtain a refreshed access token","operationId":"auth#refresh","responses":{"201":{"description":"Created","schema":{"$ref":"#/definitions/Authorize"}}},"schemes":["https"],"security":[{"password":[]}]}},"/auth/token":{"post":{"description":"Obtain an access token","operationId":"auth#token","responses":{"201":{"description":"Created","schema":{"$ref":"#/definitions/Authorize"}}},"schemes":["https"],"security":[{"password":[]}]}},"/healthz":{"get":{"description":"Get Server Status","operationId":"healthz#status","schemes":["https"]}},"/tenants":{"get":{"description":"List all tenants\n\n** Required security scopes**:\n","operationId":"tenant#list","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/TenantCollection"}},"404":{"description":"Not Found"}},"schemes":["https"]},"post":{"description":"Record new tenant\n\n** Required security scopes**:\n","operationId":"tenant#create","parameters":[{"name":"payload","in":"body","required":true,"schema":{"$ref":"#/definitions/CreateTenantPayload"}}],"responses":{"201":{"description":"Resource created","headers":{"Location":{"description":"href to created resource","type":"string","pattern":"^/tenants/[0-9]+$"}}}},"schemes":["https"]}},"/tenants/{tenantID}":{"get":{"description":"Retrieve tenant with given id\n\n** Required security scopes**:\n","operationId":"tenant#show","parameters":[{"name":"tenantID","in":"path","required":true,"type":"integer"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Tenant"}},"404":{"description":"Not Found"}},"schemes":["https"]},"delete":{"description":"\n\n** Required security scopes**:\n","operationId":"tenant#delete","parameters":[{"name":"tenantID","in":"path","description":"Tenant ID","required":true,"type":"integer"}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}},"schemes":["https"]},"patch":{"description":"\n\n** Required security scopes**:\n","operationId":"tenant#update","parameters":[{"name":"tenantID","in":"path","required":true,"type":"integer"},{"name":"payload","in":"body","required":true,"schema":{"$ref":"#/definitions/UpdateTenantPayload"}}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}},"schemes":["https"]}},"/tenants/{tenantID}/events":{"get":{"description":"List all events\n\n** Required security scopes**:\n","operationId":"event#list","parameters":[{"name":"tenantID","in":"path","required":true,"type":"integer"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/EventCollection"}},"404":{"description":"Not Found"}},"schemes":["https"]},"post":{"description":"Record new event\n\n** Required security scopes**:\n","operationId":"event#create","parameters":[{"name":"tenantID","in":"path","required":true,"type":"integer"},{"name":"payload","in":"body","required":true,"schema":{"$ref":"#/definitions/CreateEventPayload"}}],"responses":{"201":{"description":"Resource created","headers":{"Location":{"description":"href to created resource","type":"string","pattern":"^/tenants/[0-9]/events/[0-9]+$"}}}},"schemes":["https"]}},"/tenants/{tenantID}/events/{eventID}":{"get":{"description":"Retrieve event with given id","operationId":"event#show","parameters":[{"name":"eventID","in":"path","required":true,"type":"integer"},{"name":"tenantID","in":"path","required":true,"type":"integer"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Event"}},"404":{"description":"Not Found"}},"schemes":["https"]},"delete":{"description":"\n\n** Required security scopes**:\n","operationId":"event#delete","parameters":[{"name":"eventID","in":"path","description":"Event ID","required":true,"type":"integer"},{"name":"tenantID","in":"path","required":true,"type":"integer"}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}},"schemes":["https"]},"patch":{"description":"\n\n** Required security scopes**:\n","operationId":"event#update","parameters":[{"name":"eventID","in":"path","required":true,"type":"integer"},{"name":"tenantID","in":"path","required":true,"type":"integer"},{"name":"payload","in":"body","required":true,"schema":{"$ref":"#/definitions/UpdateEventPayload"}}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}},"schemes":["https"]}},"/tenants/{tenantID}/series":{"get":{"description":"List all series\n\n** Required security scopes**:\n","operationId":"series#list","parameters":[{"name":"tenantID","in":"path","required":true,"type":"integer"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/SeriesCollection"}},"404":{"description":"Not Found"}},"schemes":["https"]},"post":{"description":"Record new series\n\n** Required security scopes**:\n","operationId":"series#create","parameters":[{"name":"tenantID","in":"path","required":true,"type":"integer"},{"name":"payload","in":"body","required":true,"schema":{"$ref":"#/definitions/CreateSeriesPayload"}}],"responses":{"201":{"description":"Resource created","headers":{"Location":{"description":"href to created resource","type":"string","pattern":"^/tenants/[0-9]/series/[0-9]+$"}}}},"schemes":["https"]}},"/tenants/{tenantID}/series/{seriesID}":{"get":{"description":"Retrieve series with given id\n\n** Required security scopes**:\n","operationId":"series#show","parameters":[{"name":"seriesID","in":"path","required":true,"type":"integer"},{"name":"tenantID","in":"path","required":true,"type":"integer"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Series"}},"404":{"description":"Not Found"}},"schemes":["https"]},"delete":{"description":"\n\n** Required security scopes**:\n","operationId":"series#delete","parameters":[{"name":"seriesID","in":"path","description":"Series ID","required":true,"type":"integer"},{"name":"tenantID","in":"path","required":true,"type":"integer"}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}},"schemes":["https"]},"patch":{"description":"\n\n** Required security scopes**:\n","operationId":"series#update","parameters":[{"name":"seriesID","in":"path","required":true,"type":"integer"},{"name":"tenantID","in":"path","required":true,"type":"integer"},{"name":"payload","in":"body","required":true,"schema":{"$ref":"#/definitions/UpdateSeriesPayload"}}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}},"schemes":["https"]}},"/tenants/{tenantID}/users":{"get":{"description":"List all users for a tenant\n\n** Required security scopes**:\n","operationId":"user#list","parameters":[{"name":"tenantID","in":"path","required":true,"type":"integer"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/UserCollection"}},"404":{"description":"Not Found"}},"schemes":["https"]},"post":{"description":"Record new user\n\n** Required security scopes**:\n","operationId":"user#create","parameters":[{"name":"tenantID","in":"path","required":true,"type":"integer"},{"name":"payload","in":"body","required":true,"schema":{"$ref":"#/definitions/CreateUserPayload"}}],"responses":{"201":{"description":"Resource created","headers":{"Location":{"description":"href to created resource","type":"string","pattern":"^/tenants/[0-9]+/users/[0-9]+$"}}}},"schemes":["https"]}},"/tenants/{tenantID}/users/{userID}":{"get":{"description":"Retrieve user with given id\n\n** Required security scopes**:\n","operationId":"user#show","parameters":[{"name":"tenantID","in":"path","required":true,"type":"integer"},{"name":"userID","in":"path","required":true,"type":"integer"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/User"}},"404":{"description":"Not Found"}},"schemes":["https"]},"delete":{"description":"\n\n** Required security scopes**:\n","operationId":"user#delete","parameters":[{"name":"tenantID","in":"path","required":true,"type":"integer"},{"name":"userID","in":"path","description":"UserID ","required":true,"type":"integer"}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}},"schemes":["https"]},"patch":{"description":"\n\n** Required security scopes**:\n","operationId":"user#update","parameters":[{"name":"tenantID","in":"path","required":true,"type":"integer"},{"name":"userID","in":"path","required":true,"type":"integer"},{"name":"payload","in":"body","required":true,"schema":{"$ref":"#/definitions/UpdateUserPayload"}}],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found"}},"schemes":["https"]}},"/validate/{userID}":{"get":{"description":"validate user email","operationId":"validate#validate","parameters":[{"name":"userID","in":"path","required":true,"type":"string"},{"name":"v","in":"query","required":false,"type":"string"}],"responses":{"200":{"description":"OK"},"404":{"description":"Not Found"}},"schemes":["https"]}}},"definitions":{"Authorize":{"title":"Mediatype identifier: application/vnd.authorize+json","type":"object","properties":{"access_token":{"type":"string","description":"access token","example":"Aut aspernatur excepturi."},"expires_in":{"type":"integer","description":"Time to expiration in seconds","example":1423874802512420957,"format":"int64"},"tenant":{"type":"object","properties":{"name":{"type":"string","description":"name","example":"Ab sit eos."}},"description":"tenant","example":{"name":"Sunt et."}},"token_type":{"type":"string","description":"type of token","example":"Culpa minima error dolores dolorem tempora."},"user":{"type":"object","properties":{"active":{"type":"boolean","description":"Activation status","example":false},"email":{"type":"string","description":"Email address of user","example":"lwz","format":"email","minLength":2},"first_name":{"type":"string","description":"First name of user","example":"bjyh","minLength":2},"href":{"type":"string","description":"API href of record","example":"Nisi aspernatur non voluptatibus."},"id":{"type":"integer","description":"ID of record","example":8769875072716209837,"format":"int64"},"last_name":{"type":"string","description":"Last name of user","example":"j8","minLength":2},"role":{"type":"string","description":"User's role","example":"Aliquid aut id quia."},"tenant_id":{"type":"integer","example":7069450719703720201,"format":"int64"},"validated":{"type":"boolean","description":"Validation status","example":true}},"description":"user","example":{"active":false,"email":"Ut magnam odit nemo numquam.","first_name":"Tempora a odit dolores voluptas quis.","href":"In eos ab porro est exercitationem nisi.","id":7180736786154332961,"last_name":"Velit excepturi aut minus nam.","role":"Doloremque blanditiis quo nostrum quo esse.","tenant_id":8701398505595027364,"validated":false}}},"description":"Token authorization response","example":{"access_token":"Laudantium tempore voluptatem.","expires_in":4869192690920850514,"tenant":{"name":"Eum est aut adipisci eaque."},"token_type":"Dolorum illo.","user":{"active":false,"email":"Beatae aperiam quo rerum neque beatae consequatur.","first_name":"Sed explicabo id eum eos tempora.","href":"Aliquam id.","id":8808219743307988971,"last_name":"Debitis est esse a.","role":"Libero sint cumque voluptatum iste qui molestiae.","tenant_id":9223089239784314814,"validated":false}}},"CreateAdminuserPayload":{"title":"CreateAdminuserPayload","type":"object","properties":{"email":{"type":"string","minLength":2},"first_name":{"type":"string","minLength":2},"id":{"type":"integer","format":"int64"},"last_name":{"type":"string","minLength":2},"member_id":{"type":"integer","example":259120492696645371,"format":"int64"},"password":{"type":"string","minLength":8},"role":{"type":"string"},"validated":{"type":"boolean"},"validation_code":{"type":"string","minLength":8}},"required":["first_name","last_name","email","password","role"]},"CreateEventPayload":{"title":"CreateEventPayload","type":"object","properties":{"name":{"type":"string","minLength":2}},"required":["name"]},"CreateSeriesPayload":{"title":"CreateSeriesPayload","type":"object","properties":{"name":{"type":"string","minLength":2}},"required":["name"]},"CreateTenantPayload":{"title":"CreateTenantPayload","type":"object","properties":{"name":{"type":"string","minLength":2}},"required":["name"]},"CreateUserPayload":{"title":"CreateUserPayload","type":"object","properties":{"email":{"type":"string","example":"qfi","minLength":2},"first_name":{"type":"string","minLength":2},"id":{"type":"integer","format":"int64"},"last_name":{"type":"string","minLength":2},"password":{"type":"string","example":"54cbqchb","minLength":8},"role":{"type":"string","example":"Perferendis velit et atque earum."},"validated":{"type":"boolean","example":true},"validation_code":{"type":"string","example":"nu3twswjm","minLength":8}},"required":["first_name","last_name","email","password","role"]},"Event":{"title":"Mediatype identifier: application/vnd.event+json","type":"object","properties":{"end_date":{"type":"string","description":"end_date","example":"2008-04-08T06:24:33-04:00","format":"date-time"},"location":{"type":"string","description":"location","example":"Et iure."},"name":{"type":"string","description":"name","example":"Corporis eaque sit ut enim qui quia."},"start_date":{"type":"string","description":"start_date","example":"2009-12-13T10:00:31-05:00","format":"date-time"}},"description":"An event is a specific instance of a conference, e.g. GopherCon 2016","example":{"end_date":"1995-07-17T01:52:26-04:00","location":"Quia similique nihil aliquam.","name":"Ut nihil.","start_date":"1974-08-17T12:41:28-04:00"}},"EventCollection":{"title":"Mediatype identifier: application/vnd.event+json; type=collection","type":"array","items":{"type":"object","properties":{"end_date":{"type":"string","description":"end_date","example":"2008-04-08T06:24:33-04:00","format":"date-time"},"location":{"type":"string","description":"location","example":"Et iure."},"name":{"type":"string","description":"name","example":"Corporis eaque sit ut enim qui quia."},"start_date":{"type":"string","description":"start_date","example":"2009-12-13T10:00:31-05:00","format":"date-time"}},"example":{"end_date":"2016-03-17T07:13:47-04:00","location":"Cupiditate quo molestias dicta excepturi.","name":"Ullam itaque ex eum hic.","start_date":"2014-09-10T16:20:08-04:00"}},"example":[{"end_date":"1984-02-12T07:36:31-05:00","location":"Voluptatum saepe odit porro officia harum tenetur.","name":"Aspernatur nemo inventore placeat.","start_date":"1976-05-31T06:39:48-04:00"}]},"Series":{"title":"Mediatype identifier: application/vnd.series+json","type":"object","properties":{"name":{"type":"string","description":"name","example":"Est delectus."}},"description":"A series is a recurring event, e.g. GopherCon","example":{"name":"Id reiciendis hic et doloremque voluptatem veniam."}},"SeriesCollection":{"title":"Mediatype identifier: application/vnd.series+json; type=collection","type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"name","example":"Est delectus."}},"example":{"name":"Dolor excepturi."}},"example":[{"name":"Rerum mollitia et sunt."},{"name":"Accusantium id tempora facilis."},{"name":"Quia tempora ipsum aperiam nihil voluptatem qui."}]},"Tenant":{"title":"Mediatype identifier: application/vnd.tenant+json","type":"object","properties":{"name":{"type":"string","description":"name","example":"Ab sit eos."}},"description":"Tenant account in Congo","example":{"name":"Recusandae nihil nesciunt voluptatem."}},"TenantCollection":{"title":"Mediatype identifier: application/vnd.tenant+json; type=collection","type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"name","example":"Ab sit eos."}},"example":{"name":"Et qui ut libero cumque aut."}},"example":[{"name":"Numquam ex minima."},{"name":"Ex distinctio dolorem similique."}]},"UpdateAdminuserPayload":{"title":"UpdateAdminuserPayload","type":"object","properties":{"email":{"type":"string","minLength":2},"first_name":{"type":"string","minLength":2},"id":{"type":"integer","format":"int64"},"last_name":{"type":"string","minLength":2},"password":{"type":"string","minLength":8},"role":{"type":"string"},"validated":{"type":"boolean"},"validation_code":{"type":"string","minLength":8}}},"UpdateEventPayload":{"title":"UpdateEventPayload","type":"object","properties":{"name":{"type":"string","minLength":2}}},"UpdateSeriesPayload":{"title":"UpdateSeriesPayload","type":"object","properties":{"name":{"type":"string","minLength":2}}},"UpdateTenantPayload":{"title":"UpdateTenantPayload","type":"object","properties":{"name":{"type":"string","minLength":2}}},"UpdateUserPayload":{"title":"UpdateUserPayload","type":"object","properties":{"email":{"type":"string","minLength":2},"first_name":{"type":"string","minLength":2},"id":{"type":"integer","format":"int64"},"last_name":{"type":"string","minLength":2},"password":{"type":"string","minLength":8},"role":{"type":"string"},"validated":{"type":"boolean"},"validation_code":{"type":"string","minLength":8}}},"User":{"title":"Mediatype identifier: application/vnd.user+json","type":"object","properties":{"active":{"type":"boolean","description":"Activation status","example":false},"email":{"type":"string","description":"Email address of user","example":"lwz","format":"email","minLength":2},"first_name":{"type":"string","description":"First name of user","example":"bjyh","minLength":2},"href":{"type":"string","description":"API href of record","example":"Nisi aspernatur non voluptatibus."},"id":{"type":"integer","description":"ID of record","example":8769875072716209837,"format":"int64"},"last_name":{"type":"string","description":"Last name of user","example":"j8","minLength":2},"role":{"type":"string","description":"User's role","example":"Aliquid aut id quia."},"tenant_id":{"type":"integer","example":7069450719703720201,"format":"int64"},"validated":{"type":"boolean","description":"Validation status","example":true}},"description":"A user belonging to a member","example":{"active":false,"email":"Molestiae numquam quae ut porro.","first_name":"Quo dolor.","href":"Voluptatem sit neque iusto commodi et quae.","id":9021861416916909309,"last_name":"Dolores tempora esse impedit.","role":"Itaque praesentium incidunt illo distinctio fugit molestias.","tenant_id":8330531004317354261,"validated":false}},"UserCollection":{"title":"Mediatype identifier: application/vnd.user+json; type=collection","type":"array","items":{"type":"object","properties":{"active":{"type":"boolean","description":"Activation status","example":false},"email":{"type":"string","description":"Email address of user","example":"lwz","format":"email","minLength":2},"first_name":{"type":"string","description":"First name of user","example":"bjyh","minLength":2},"href":{"type":"string","description":"API href of record","example":"Nisi aspernatur non voluptatibus."},"id":{"type":"integer","description":"ID of record","example":8769875072716209837,"format":"int64"},"last_name":{"type":"string","description":"Last name of user","example":"j8","minLength":2},"role":{"type":"string","description":"User's role","example":"Aliquid aut id quia."},"tenant_id":{"type":"integer","example":7069450719703720201,"format":"int64"},"validated":{"type":"boolean","description":"Validation status","example":true}},"example":{"active":true,"email":"Ea aut ipsum dolor tempore voluptatum aut.","first_name":"Consequatur sit autem vel mollitia et maiores.","href":"Dolorum ab officia aut.","id":6658725657500577384,"last_name":"Reiciendis aut sit nisi et.","role":"Eum maxime omnis quasi consectetur iusto.","tenant_id":6399760118700009377,"validated":false}},"example":[{"active":false,"email":"Placeat cumque quos praesentium id quis asperiores.","first_name":"Aliquam corporis dolorum nobis nihil.","href":"Quae fuga tempora exercitationem nihil.","id":7483964328558502833,"last_name":"Qui molestias nihil.","role":"Expedita et.","tenant_id":6450897045302258149,"validated":false},{"active":true,"email":"Voluptatem et reprehenderit et ad quo.","first_name":"Blanditiis officiis sint hic ex ea ut.","href":"Dignissimos rerum repellat aut tempora nihil voluptas.","id":812480929769847995,"last_name":"Dolor dolorum sequi corporis non.","role":"Earum ut eum alias voluptatibus dolorem non.","tenant_id":7330815368201785052,"validated":true}]}},"responses":{"NoContent":{"description":"No Content"},"NotFound":{"description":"Not Found"},"OK":{"description":"OK","schema":{"$ref":"#/definitions/User"}}},"securityDefinitions":{"jwt":{"type":"apiKey","description":"\n\n**Token URL**: \u003ca href='https://congo.gopheracademy.com/api/auth/token'\u003ehttps://congo.gopheracademy.com/api/auth/token\u003c/a\u003e","name":"Authorization","in":"header"},"password":{"type":"basic","description":"Use your own password!"}},"externalDocs":{"description":"Getting Started Guide","url":"https://congo.com"}}