{"components":{"parameters":{"After":{"description":"Keyset cursor. Pass the `next` value from the previous page.","in":"query","name":"after","schema":{"type":"string"}},"Format":{"description":"Keyed tier only, except json. Also honoured from the Accept header.","in":"query","name":"format","schema":{"default":"json","enum":["json","csv","geojson","parquet"],"type":"string"}},"Id":{"in":"path","name":"id","required":true,"schema":{"type":"string"}},"Limit":{"description":"Page size. Maximum 50 on the free tier, 500 keyed.","in":"query","name":"limit","schema":{"default":20,"maximum":500,"minimum":1,"type":"integer"}}},"responses":{"Problem":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An RFC 9457 problem document."}},"schemas":{"Airport":{"properties":{"city":{"nullable":true,"type":"string"},"coordinates":{"properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"type":"object"},"country":{"example":"NG","type":"string"},"iata":{"example":"LOS","type":"string"},"icao":{"example":"DNMM","nullable":true,"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"type":{"enum":["large_airport","medium_airport","small_airport"],"type":"string"},"updated_at":{"format":"date-time","type":"string"},"verification":{"$ref":"#/components/schemas/Verification"}},"type":"object"},"AirportList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/Airport"},"type":"array"}},"type":"object"}]},"Bank":{"properties":{"category":{"enum":["commercial","merchant","non_interest","payment_service","microfinance","mortgage","mobile_money","finance_company","development","bank"],"type":"string"},"cbn_listed":{"description":"True when the name is on one of the Central Bank of Nigeria's lists of licensed institutions.","type":"boolean"},"code":{"example":"044","type":"string"},"id":{"type":"string"},"name":{"example":"Access Bank","type":"string"},"slug":{"example":"access-bank","type":"string"},"updated_at":{"format":"date-time","type":"string"},"ussd":{"description":"The bank's USSD banking code.","example":"*901#","nullable":true,"type":"string"},"verification":{"$ref":"#/components/schemas/Verification"}},"type":"object"},"BankList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/Bank"},"type":"array"}},"type":"object"}]},"Change":{"properties":{"actor":{"type":"string"},"at":{"format":"date-time","type":"string"},"change_type":{"enum":["create","update","verify","dispute","retire","merge"],"type":"string"},"dataset":{"type":"string"},"id":{"type":"integer"},"reason":{"type":["string","null"]},"record_id":{"type":"string"},"version_from":{"type":"integer"},"version_to":{"type":"integer"}},"type":"object"},"Component":{"properties":{"at":{"format":"date-time","type":"string"},"component":{"enum":["api","database","redis"],"type":"string"},"detail":{"type":"string"},"latency_ms":{"type":"integer"},"ok":{"type":"boolean"}},"type":"object"},"Conversion":{"properties":{"amount":{"example":100,"type":"number"},"date":{"description":"The day of the rate used.","format":"date","type":"string"},"from":{"example":"USD","type":"string"},"rate":{"type":"number"},"result":{"type":"number"},"to":{"example":"NGN","type":"string"}},"type":"object"},"Country":{"properties":{"calling_code":{"example":"234","nullable":true,"type":"string"},"capital":{"nullable":true,"type":"string"},"code":{"example":"NG","type":"string"},"code3":{"example":"NGA","type":"string"},"currency_code":{"example":"NGN","nullable":true,"type":"string"},"currency_name":{"nullable":true,"type":"string"},"id":{"type":"string"},"name":{"example":"Nigeria","type":"string"},"region":{"nullable":true,"type":"string"},"tld":{"example":".ng","nullable":true,"type":"string"},"updated_at":{"format":"date-time","type":"string"},"verification":{"$ref":"#/components/schemas/Verification"}},"type":"object"},"CountryList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/Country"},"type":"array"}},"type":"object"}]},"CryptoPrice":{"properties":{"change_24h_percent":{"nullable":true,"type":"number"},"market_cap_usd":{"nullable":true,"type":"number"},"name":{"example":"Bitcoin","type":"string"},"price_ngn":{"nullable":true,"type":"number"},"price_usd":{"type":"number"},"rank":{"description":"Position by market capitalisation.","type":"integer"},"symbol":{"example":"BTC","type":"string"},"updated_at":{"format":"date-time","type":"string"}},"type":"object"},"CryptoPriceList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/CryptoPrice"},"type":"array"}},"type":"object"}]},"ElectoralArea":{"properties":{"id":{"type":"string"},"lgas":{"items":{"$ref":"#/components/schemas/Ref"},"type":"array"},"name":{"example":"Lagos Central","type":"string"},"state":{"$ref":"#/components/schemas/Ref"},"updated_at":{"format":"date-time","type":"string"},"verification":{"$ref":"#/components/schemas/Verification"}},"type":"object"},"ElectoralAreaList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/ElectoralArea"},"type":"array"}},"type":"object"}]},"ExchangeRate":{"description":"What one unit of the currency costs in naira.","properties":{"buying":{"type":"number"},"central":{"type":"number"},"currency":{"example":"USD","type":"string"},"date":{"format":"date","type":"string"},"name":{"example":"US dollar","type":"string"},"selling":{"type":"number"},"updated_at":{"format":"date-time","type":"string"}},"type":"object"},"ExchangeRateList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/ExchangeRate"},"type":"array"}},"type":"object"}]},"HealthFacility":{"properties":{"distance_m":{"description":"Present only with `near`.","type":"integer"},"id":{"type":"string"},"lga":{"$ref":"#/components/schemas/Ref"},"name":{"type":"string"},"state":{"$ref":"#/components/schemas/Ref"},"type":{"type":["string","null"]},"updated_at":{"format":"date-time","type":"string"},"verification":{"$ref":"#/components/schemas/Verification"},"ward":{"$ref":"#/components/schemas/Ref"}},"type":"object"},"HealthFacilityList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/HealthFacility"},"type":"array"}},"type":"object"}]},"Holiday":{"properties":{"date":{"example":"2026-10-01","format":"date","type":"string"},"id":{"type":"string"},"kind":{"enum":["fixed","christian","islamic"],"type":"string"},"name":{"example":"Independence Day","type":"string"},"tentative":{"description":"True when the date is an estimate that the government has not yet announced.","type":"boolean"},"updated_at":{"format":"date-time","type":"string"},"verification":{"$ref":"#/components/schemas/Verification"}},"type":"object"},"HolidayList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/Holiday"},"type":"array"}},"type":"object"}]},"Institution":{"properties":{"id":{"type":"string"},"lga":{"$ref":"#/components/schemas/Ref"},"name":{"example":"University of Lagos","type":"string"},"ownership":{"type":"string"},"state":{"$ref":"#/components/schemas/Ref"},"town":{"type":["string","null"]},"type":{"type":"string"},"updated_at":{"format":"date-time","type":"string"},"verification":{"$ref":"#/components/schemas/Verification"}},"type":"object"},"InstitutionList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/Institution"},"type":"array"}},"type":"object"}]},"LGA":{"properties":{"code":{"description":"The OCHA P-code","for example NG025014.":null,"type":["string","null"]},"id":{"type":"string"},"name":{"example":"Lagos Island","type":"string"},"state":{"$ref":"#/components/schemas/Ref"},"updated_at":{"format":"date-time","type":"string"},"verification":{"$ref":"#/components/schemas/Verification"}},"type":"object"},"LGAList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/LGA"},"type":"array"}},"type":"object"}]},"List":{"properties":{"data":{"items":{},"type":"array"},"next":{"description":"The cursor for the next page, absent on the last.","type":"string"}},"type":"object"},"PhoneLookup":{"allOf":[{"$ref":"#/components/schemas/PhonePrefix"},{"properties":{"international":{"example":"+2348031234567","type":"string"},"number":{"example":"08031234567","type":"string"}},"type":"object"}]},"PhonePrefix":{"properties":{"id":{"type":"string"},"operator":{"example":"MTN","type":"string"},"prefix":{"example":"0803","type":"string"},"updated_at":{"format":"date-time","type":"string"},"verification":{"$ref":"#/components/schemas/Verification"}},"type":"object"},"PhonePrefixList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/PhonePrefix"},"type":"array"}},"type":"object"}]},"PollingUnit":{"properties":{"code":{"example":"24/11/01/001","type":"string"},"id":{"type":"string"},"lga":{"$ref":"#/components/schemas/Ref"},"name":{"type":"string"},"state":{"$ref":"#/components/schemas/Ref"},"updated_at":{"format":"date-time","type":"string"},"verification":{"$ref":"#/components/schemas/Verification"},"ward":{"allOf":[{"$ref":"#/components/schemas/Ref"}],"description":"Null when the unit's ward could not be matched to a ward record.","nullable":true}},"type":"object"},"PollingUnitList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/PollingUnit"},"type":"array"}},"type":"object"}]},"Problem":{"properties":{"code":{"example":"upgrade_required","type":"string"},"detail":{"type":"string"},"instance":{"type":"string"},"status":{"example":403,"type":"integer"},"title":{"example":"Forbidden","type":"string"},"type":{"example":"https://trueset.timileyin.dev/problems/upgrade_required","type":"string"}},"required":["type","title","status","code"],"type":"object"},"Ref":{"properties":{"code":{"type":["string","null"]},"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"Source":{"properties":{"id":{"type":"string"},"license":{"type":"string"},"name":{"type":"string"},"publisher":{"type":"string"},"retrieved_at":{"format":"date","type":"string"},"url":{"type":"string"}},"type":"object"},"SourceList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/Source"},"type":"array"}},"type":"object"}]},"State":{"properties":{"capital":{"type":"string"},"code":{"example":"NG-LA","type":"string"},"id":{"type":"string"},"name":{"example":"Lagos","type":"string"},"updated_at":{"format":"date-time","type":"string"},"verification":{"$ref":"#/components/schemas/Verification"},"zone":{"$ref":"#/components/schemas/Ref"}},"type":"object"},"StateList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/State"},"type":"array"}},"type":"object"}]},"Uptime":{"properties":{"checks":{"type":"integer"},"component":{"type":"string"},"ok":{"type":"integer"},"ratio":{"description":"Null when the window holds no checks.","type":["number","null"]}},"type":"object"},"Verification":{"description":"Present on every record. The product's provenance guarantee.","properties":{"method":{"enum":["official_document","cross_referenced","field_verified","community"],"type":"string"},"retrieved_at":{"format":"date","type":"string"},"source_id":{"type":"string"},"status":{"enum":["unverified","verified","disputed","retired"],"type":"string"},"verified_at":{"format":"date-time","type":"string"},"verified_by":{"type":"string"},"version":{"type":"integer"}},"type":"object"},"Version":{"properties":{"data":{"type":"object"},"retrieved_at":{"format":"date","type":"string"},"source_id":{"type":"string"},"valid_from":{"format":"date-time","type":"string"},"valid_to":{"format":"date-time","type":["string","null"]},"verification_method":{"type":["string","null"]},"verified_at":{"format":"date-time","type":["string","null"]},"verified_by":{"type":["string","null"]},"version":{"type":"integer"}},"type":"object"},"Zone":{"properties":{"id":{"type":"string"},"name":{"type":"string"},"updated_at":{"format":"date-time","type":"string"},"verification":{"$ref":"#/components/schemas/Verification"}},"type":"object"},"ZoneList":{"allOf":[{"$ref":"#/components/schemas/List"},{"properties":{"data":{"items":{"$ref":"#/components/schemas/Zone"},"type":"array"}},"type":"object"}]}},"securitySchemes":{"bearerKey":{"description":"An API key, `ts_\u003cprefix\u003e_\u003csecret\u003e`. Create one from the account page.","scheme":"bearer","type":"http"},"sessionCookie":{"description":"The account session cookie. Reads only; it does not raise the tier.","in":"cookie","name":"sid","type":"apiKey"}}},"info":{"contact":{"name":"trueset","url":"https://trueset.timileyin.dev"},"description":"Query Nigeria's administrative areas, tertiary institutions, health\nfacilities, population, banks, phone prefixes and public holidays, plus\nexchange rates and crypto prices. Every verified record carries its source\nand how it was verified.\n\nThe free tier needs no key: it has a small daily allowance and returns\na restricted set of datasets and fields, as JSON. A paid plan raises the\nlimits, opens every dataset, field and format, and adds record history.\n\nEvery response is paginated keyset-style with `next`; there is no offset\npagination. Errors are RFC 9457 problem documents with a `code`.\n","license":{"name":"Data licences vary by source, see /sources"},"summary":"Verified public data for Nigeria.","title":"trueset API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/airports":{"get":{"parameters":[{"description":"A two letter ISO country code.","in":"query","name":"country","schema":{"example":"NG","type":"string"}},{"description":"Search on the airport name or city.","in":"query","name":"q","schema":{"type":"string"}},{"$ref":"#/components/parameters/After"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Format"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AirportList"}}},"description":"A page of airports that have an IATA code."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List airports","tags":["Utilities"],"x-tier":"free"}},"/airports/{id}":{"get":{"parameters":[{"description":"An airport id or IATA code, for example LOS.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Airport"}}},"description":"The airport."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Get an airport","tags":["Utilities"],"x-tier":"free"}},"/banks":{"get":{"parameters":[{"description":"Search on the bank name.","in":"query","name":"q","schema":{"type":"string"}},{"description":"A bank code, for example 044. A few codes are shared by more than one institution, so this can return several.","in":"query","name":"code","schema":{"type":"string"}},{"$ref":"#/components/parameters/After"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Format"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankList"}}},"description":"A page of banks."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List banks and bank codes","tags":["Finance"],"x-tier":"free"}},"/banks/account-check":{"get":{"description":"Checks a ten-digit account number against the CBN's NUBAN check digit. It checks the number's form only, not whether the account exists or whose it is.","parameters":[{"in":"query","name":"account_number","required":true,"schema":{"example":"0123456789","type":"string"}},{"description":"A bank slug, short name such as gtbank or uba, or code. Without it, the response lists every bank the number could belong to.","in":"query","name":"bank","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"account_number":{"type":"string"},"bank":{"type":"object"},"checkable":{"type":"boolean"},"possible_banks":{"items":{"type":"object"},"type":"array"},"valid":{"description":"Null when the bank's code cannot be checked.","nullable":true,"type":"boolean"}},"type":"object"}}},"description":"With a bank, whether the number is valid for it; without one, the banks it could belong to."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Check an account number","tags":["Finance"],"x-tier":"free"}},"/banks/{id}":{"get":{"parameters":[{"description":"A bank id or slug, for example access-bank. Common short names such as gtbank, uba, fcmb and opay also work.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bank"}}},"description":"The bank."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Get a bank","tags":["Finance"],"x-tier":"free"}},"/changes":{"get":{"description":"Newest first. Records are appended on create, update and verify.","parameters":[{"description":"A change id, or an RFC 3339 timestamp. Only changes after it are returned.","in":"query","name":"since","schema":{"type":"string"}},{"in":"query","name":"dataset","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Change"},"type":"array"}},"type":"object"}}},"description":"A page of changes."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Read the change feed","tags":["Platform"],"x-tier":"free"}},"/countries":{"get":{"parameters":[{"description":"An ISO 4217 code, to list the countries that use it.","in":"query","name":"currency","schema":{"example":"NGN","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountryList"}}},"description":"Every country, by name."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List countries with currencies and calling codes","tags":["Utilities"],"x-tier":"free"}},"/countries/{id}":{"get":{"parameters":[{"description":"A country id, or its two or three letter ISO code, for example NG or NGA.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Country"}}},"description":"The country."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Get a country","tags":["Utilities"],"x-tier":"free"}},"/crypto/prices":{"get":{"parameters":[{"description":"Comma separated symbols, for example BTC,ETH. Without it, coins are returned by market capitalisation.","in":"query","name":"symbols","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"default":50,"maximum":250,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoPriceList"}}},"description":"Coin prices in US dollars and naira."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List crypto prices","tags":["Finance"],"x-tier":"keyed"}},"/crypto/prices/{symbol}":{"get":{"parameters":[{"description":"A coin symbol, for example BTC.","in":"path","name":"symbol","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoPrice"}}},"description":"The coin's price."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Get one coin's price","tags":["Finance"],"x-tier":"keyed"}},"/exchange-rates":{"get":{"parameters":[{"description":"A day, as YYYY-MM-DD. Without it, each currency's most recent rate is returned.","in":"query","name":"date","schema":{"format":"date","type":"string"}},{"$ref":"#/components/parameters/Format"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeRateList"}}},"description":"What one unit of each currency costs in naira."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List exchange rates against the naira","tags":["Finance"],"x-tier":"keyed"}},"/exchange-rates/convert":{"get":{"parameters":[{"in":"query","name":"from","required":true,"schema":{"example":"USD","type":"string"}},{"in":"query","name":"to","required":true,"schema":{"example":"NGN","type":"string"}},{"in":"query","name":"amount","schema":{"default":1,"type":"number"}},{"description":"Use the rate on this day, or the last one before it. Without it, the most recent rate is used.","in":"query","name":"date","schema":{"format":"date","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Conversion"}}},"description":"The converted amount, at the central rate."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Convert an amount between two currencies","tags":["Finance"],"x-tier":"keyed"}},"/exchange-rates/{currency}":{"get":{"parameters":[{"description":"An ISO 4217 code, for example USD.","in":"path","name":"currency","required":true,"schema":{"type":"string"}},{"description":"Return rates before this day. Pass the next value from the previous page.","in":"query","name":"before","schema":{"format":"date","type":"string"}},{"in":"query","name":"limit","schema":{"default":30,"maximum":500,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeRateList"}}},"description":"Rates for the currency, newest first."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List one currency's rate history","tags":["Finance"],"x-tier":"keyed"}},"/federal-constituencies":{"get":{"parameters":[{"description":"Filter by state id or code.","in":"query","name":"state","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElectoralAreaList"}}},"description":"Each one with the LGAs inside it."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List federal constituencies","tags":["Electoral"],"x-tier":"keyed"}},"/health-facilities":{"get":{"parameters":[{"in":"query","name":"state","schema":{"type":"string"}},{"in":"query","name":"lga","schema":{"type":"string"}},{"in":"query","name":"ward","schema":{"type":"string"}},{"in":"query","name":"type","schema":{"type":"string"}},{"in":"query","name":"level","schema":{"type":"string"}},{"in":"query","name":"ownership","schema":{"type":"string"}},{"in":"query","name":"q","schema":{"type":"string"}},{"description":"A centre point, lat,lng. Orders by distance and adds distance_m.","in":"query","name":"near","schema":{"example":"9.0579,7.4951","type":"string"}},{"description":"Radius for `near`, default 5, maximum 50.","in":"query","name":"radius_km","schema":{"default":5,"maximum":50,"minimum":0,"type":"number"}},{"$ref":"#/components/parameters/After"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Format"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthFacilityList"}}},"description":"A page of health facilities."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List health facilities","tags":["Reference"],"x-tier":"keyed"}},"/health-facilities/{id}":{"get":{"parameters":[{"$ref":"#/components/parameters/Id"}],"responses":{"200":{"description":"The facility."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Get a health facility","tags":["Reference"],"x-tier":"keyed"}},"/holidays":{"get":{"parameters":[{"description":"A four digit year. Without it, every year held is returned.","in":"query","name":"year","schema":{"example":2026,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HolidayList"}}},"description":"Public holidays in date order."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List public holidays","tags":["Utilities"],"x-tier":"free"}},"/institutions":{"get":{"parameters":[{"in":"query","name":"state","schema":{"type":"string"}},{"in":"query","name":"lga","schema":{"type":"string"}},{"in":"query","name":"type","schema":{"enum":["university","polytechnic","college_of_education","college","institute"],"type":"string"}},{"in":"query","name":"ownership","schema":{"enum":["federal","state","private"],"type":"string"}},{"in":"query","name":"q","schema":{"type":"string"}},{"$ref":"#/components/parameters/After"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Format"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstitutionList"}}},"description":"A page of institutions."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List tertiary institutions","tags":["Reference"],"x-tier":"free"}},"/institutions/{id}":{"get":{"parameters":[{"$ref":"#/components/parameters/Id"}],"responses":{"200":{"description":"The institution."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Get an institution","tags":["Reference"],"x-tier":"free"}},"/lgas":{"get":{"parameters":[{"description":"Filter by state id or code.","in":"query","name":"state","schema":{"type":"string"}},{"description":"Prefix search on the name.","in":"query","name":"q","schema":{"type":"string"}},{"$ref":"#/components/parameters/After"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Format"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LGAList"}}},"description":"A page of LGAs."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List local government areas","tags":["Administrative"],"x-tier":"free"}},"/lgas/{id}":{"get":{"parameters":[{"$ref":"#/components/parameters/Id"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LGA"}}},"description":"The LGA."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Get an LGA","tags":["Administrative"],"x-tier":"free"}},"/lgas/{id}/wards":{"get":{"parameters":[{"$ref":"#/components/parameters/Id"},{"$ref":"#/components/parameters/After"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Format"}],"responses":{"200":{"description":"A page of wards."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List the wards of an LGA","tags":["Administrative"],"x-tier":"keyed"}},"/locate":{"get":{"parameters":[{"in":"query","name":"lat","required":true,"schema":{"type":"number"}},{"in":"query","name":"lng","required":true,"schema":{"type":"number"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"lga":{"$ref":"#/components/schemas/Ref"},"state":{"$ref":"#/components/schemas/Ref"}},"type":"object"}}},"description":"The state and LGA containing the point."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Locate the area containing a point","tags":["Platform"],"x-tier":"keyed"}},"/phone-prefixes":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhonePrefixList"}}},"description":"Every allocated prefix and its network."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List mobile number prefixes","tags":["Utilities"],"x-tier":"free"}},"/phone-prefixes/lookup":{"get":{"parameters":[{"description":"A Nigerian mobile number in local or international form, for example 08031234567 or +2348031234567.","in":"query","name":"number","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneLookup"}}},"description":"The network the number was issued on. A ported number still reports its original network."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Find the network for a phone number","tags":["Utilities"],"x-tier":"free"}},"/polling-units":{"get":{"parameters":[{"description":"Filter by state id or code.","in":"query","name":"state","schema":{"type":"string"}},{"description":"Filter by LGA id.","in":"query","name":"lga","schema":{"type":"string"}},{"description":"Filter by ward id.","in":"query","name":"ward","schema":{"type":"string"}},{"description":"Search on the polling unit name.","in":"query","name":"q","schema":{"type":"string"}},{"$ref":"#/components/parameters/After"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Format"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PollingUnitList"}}},"description":"A page of polling units."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List polling units","tags":["Electoral"],"x-tier":"keyed"}},"/polling-units/{id}":{"get":{"parameters":[{"description":"A polling unit id, or its INEC code with dashes in place of slashes, for example 24-11-01-001.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PollingUnit"}}},"description":"The polling unit."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Get a polling unit","tags":["Electoral"],"x-tier":"keyed"}},"/population":{"get":{"parameters":[{"in":"query","name":"level","schema":{"default":"state","enum":["state","lga"],"type":"string"}},{"in":"query","name":"year","schema":{"type":"integer"}},{"in":"query","name":"state","schema":{"type":"string"}},{"$ref":"#/components/parameters/Format"}],"responses":{"200":{"description":"Population rows with their year and source."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List population figures","tags":["Reference"],"x-tier":"keyed"}},"/records/{id}/history":{"get":{"description":"Keyed tier only. Returns the full provenance of each version.","parameters":[{"in":"path","name":"id","required":true,"schema":{"example":"state_01M3MZBDZ0FRB1W27FX3HGFE3P","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Version"},"type":"array"}},"type":"object"}}},"description":"Versions, oldest first."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Read every version of a record","tags":["Platform"],"x-tier":"keyed"}},"/senatorial-districts":{"get":{"parameters":[{"description":"Filter by state id or code.","in":"query","name":"state","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElectoralAreaList"}}},"description":"Each one with the LGAs inside it."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List senatorial districts","tags":["Electoral"],"x-tier":"keyed"}},"/sources":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceList"}}},"description":"Every source, with its publisher, licence and retrieval date."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List the sources behind the data","tags":["Platform"],"x-tier":"free"}},"/states":{"get":{"parameters":[{"description":"Filter by zone id.","in":"query","name":"zone","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StateList"}}},"description":"States, including the Federal Capital Territory."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List states","tags":["Administrative"],"x-tier":"free"}},"/states/{id}":{"get":{"parameters":[{"description":"A state id or an ISO 3166-2 code, for example NG-LA.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/State"}}},"description":"The state."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Get a state","tags":["Administrative"],"x-tier":"free"}},"/states/{id}/lgas":{"get":{"parameters":[{"$ref":"#/components/parameters/Id"},{"$ref":"#/components/parameters/After"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Format"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LGAList"}}},"description":"A page of LGAs."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List the LGAs of a state","tags":["Administrative"],"x-tier":"free"}},"/status":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"components":{"items":{"$ref":"#/components/schemas/Component"},"type":"array"},"status":{"enum":["operational","degraded","outage","unknown"],"type":"string"},"uptime":{"items":{"$ref":"#/components/schemas/Uptime"},"type":"array"},"window_days":{"type":"integer"}},"type":"object"}}},"description":"The latest check per component and the uptime over 90 days."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Current platform status","tags":["Platform"],"x-tier":"free"}},"/status/history":{"get":{"parameters":[{"in":"query","name":"days","schema":{"default":90,"maximum":90,"minimum":1,"type":"integer"}}],"responses":{"200":{"description":"Per-component","per-day check counts.":null},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Uptime history by day","tags":["Platform"],"x-tier":"free"}},"/wards":{"get":{"description":"The wards dataset needs a paid plan.","parameters":[{"description":"Filter by LGA id.","in":"query","name":"lga","schema":{"type":"string"}},{"in":"query","name":"q","schema":{"type":"string"}},{"$ref":"#/components/parameters/After"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Format"}],"responses":{"200":{"description":"A page of wards."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List wards","tags":["Administrative"],"x-tier":"keyed"}},"/wards/{id}":{"get":{"parameters":[{"$ref":"#/components/parameters/Id"}],"responses":{"200":{"description":"The ward."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"Get a ward","tags":["Administrative"],"x-tier":"keyed"}},"/zones":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZoneList"}}},"description":"The six zones."},"default":{"$ref":"#/components/responses/Problem"}},"summary":"List geopolitical zones","tags":["Administrative"],"x-tier":"free"}}},"security":[{},{"bearerKey":[]},{"sessionCookie":[]}],"servers":[{"description":"Production","url":"https://trueset.timileyin.dev/v1"}],"tags":[{"description":"Zones, states, LGAs and wards, with boundaries.","name":"Administrative"},{"description":"Tertiary institutions, health facilities and population.","name":"Reference"},{"description":"Senatorial districts, federal constituencies and polling units.","name":"Electoral"},{"description":"Banks and bank codes, exchange rates and crypto prices.","name":"Finance"},{"description":"Phone number prefixes, public holidays, countries and airports.","name":"Utilities"},{"description":"Provenance, the change feed, record history and status.","name":"Platform"}]}