{"openapi":"3.1.0","info":{"title":"PrismaData — InfoSC","version":"1.0.0","termsOfService":"https://prismadata.io/terms","contact":{"name":"PrismaData Support Team","url":"https://prismadata.io/contact","email":"suporte.api@prismadata.io"},"license":{"name":"Proprietary","url":"https://api.prismadata.io/license"},"description":"O dado de informações do setor censitário retorna, a partir de uma coordenada\ngeográfica, as informações básicas acerca da proximidade do ponto.\n\nMaiores informações podem ser encontradas na [documentação de produto](https://prismadata.io/doc-comercial/informacoes-setor-censitario/). Testes manuais com o fim de se compreender melhor o dado podem ser feitos [aqui](https://prismadata.io/testador-de-api/api-de-localizacao/).\n"},"servers":[{"url":"https://api.prismadata.io/v1","description":"Ambiente de Produção"}],"security":[{"X-Apikey":[]},{"api_key":[]},{"BearerAuth":[]}],"tags":[{"name":"InfoSC","description":"O dado de informações do setor censitário retorna, a partir de uma coordenada\ngeográfica, as informações básicas acerca da proximidade do ponto.\n\nMaiores informações podem ser encontradas na [documentação de produto](https://prismadata.io/doc-comercial/informacoes-setor-censitario/). Testes manuais com o fim de se compreender melhor o dado podem ser feitos [aqui](https://prismadata.io/testador-de-api/api-de-localizacao/).\n"}],"paths":{"/location/infosc":{"get":{"tags":["InfoSC"],"summary":"Dados do setor censitário de um ponto","description":"Busca as informações da região que o ponto se encontra","operationId":"query_infosc","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","exclusiveMaximum":90.0,"exclusiveMinimum":-90.0,"description":"Latitude do ponto de consulta","title":"Lat"},"description":"Latitude do ponto de consulta"},{"name":"lng","in":"query","required":true,"schema":{"type":"number","exclusiveMaximum":180.0,"exclusiveMinimum":-180.0,"description":"Longitude do ponto de consulta","title":"Lng"},"description":"Longitude do ponto de consulta"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfoSCResponse"},"example":{"prismadata__infosc__area_km2":0.140840328651949,"prismadata__infosc__municipio":"Ribeirão Pires","prismadata__infosc__regiao":"Sudeste","prismadata__infosc__situacao":"Urbana","prismadata__infosc__tipo_sc":"NAO_ESPECIAL","prismadata__infosc__tipo_situacao":"AREA_URBANA_ALTA_DENSIDADE","prismadata__infosc__uf":"São Paulo"}}},"headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Unauthorized - Missing or invalid API key (X-Apikey header or api_key query parameter)","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"403":{"description":"Forbidden - Missing privileges to retrieve data","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"422":{"description":"Validation Error","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"429":{"$ref":"#/components/responses/RateLimitExceeded"}},"x-codeSamples":[{"lang":"curl","source":"curl \"https://api.prismadata.io/v1/location/infosc?lat=-25.5&lng=-25.5\" \\\n  -H \"X-Apikey: ak_xxxxxxxxxxxxxxxx\""},{"lang":"Python","source":"import httpx\n\nresp = httpx.get(\n    \"https://api.prismadata.io/v1/location/infosc\",\n    params={\"lat\": -25.5, \"lng\": -25.5},\n    headers={\"X-Apikey\": \"ak_xxxxxxxxxxxxxxxx\"},\n)\ndados = resp.json()"},{"lang":"Python SDK","source":"from prismadata import Client\n\nclient = Client(api_key=\"ak_xxxxxxxxxxxxxxxx\")\nresult = client.infosc(lat=-23.55, lng=-46.63)\nprint(result)"},{"lang":"R SDK","source":"library(prismadata)\n\nclient <- prismadata_client(api_key = \"ak_xxxxxxxxxxxxxxxx\")\nresult <- client$infosc(lat = -23.55, lng = -46.63)\nprint(result)"},{"lang":"TypeScript SDK","source":"import { PrismaDataClient } from \"prismadata\";\n\nconst client = new PrismaDataClient({ apiKey: \"ak_xxxxxxxxxxxxxxxx\" });\nconst result = await client.infosc(-23.55, -46.63);\nconsole.log(result);"}]}},"/location/batch/infosc":{"post":{"tags":["InfoSC"],"summary":"Dados do setor censitário em lote","description":"Busca as informações dos setores censitários em lote. A cobrança desta api é\nfeita em função do número de coordenadas contidas no lote.","operationId":"batch_infosc","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationDict"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"$ref":"#/components/schemas/InfoSCResponse"},"type":"object","title":"InfoSCResponseBatch","description":"Dicionário onde as chaves são identificadores únicos para cada ponto consultado"},"example":{"1":{"prismadata__infosc__area_km2":0.035775460654104,"prismadata__infosc__municipio":"São Caetano do Sul","prismadata__infosc__regiao":"Sudeste","prismadata__infosc__situacao":"Urbana","prismadata__infosc__tipo_sc":"NAO_ESPECIAL","prismadata__infosc__tipo_situacao":"AREA_URBANA_ALTA_DENSIDADE","prismadata__infosc__uf":"São Paulo"},"2":{"prismadata__infosc__area_km2":0.217476572958429,"prismadata__infosc__municipio":"Armação dos Búzios","prismadata__infosc__regiao":"Sudeste","prismadata__infosc__situacao":"Urbana","prismadata__infosc__tipo_sc":"NAO_ESPECIAL","prismadata__infosc__tipo_situacao":"AREA_URBANA_ALTA_DENSIDADE","prismadata__infosc__uf":"Rio de Janeiro"}}}},"headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Unauthorized - Missing or invalid API key (X-Apikey header or api_key query parameter)","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"403":{"description":"Forbidden - Missing privileges to retrieve data","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"422":{"description":"Validation Error","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"429":{"$ref":"#/components/responses/RateLimitExceeded"}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST \"https://api.prismadata.io/v1/location/batch/infosc\" \\\n  -H \"X-Apikey: ak_xxxxxxxxxxxxxxxx\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"1\": [-23.55, -46.63], \"2\": [-22.90, -43.17]}'"},{"lang":"Python","source":"import httpx\n\nresp = httpx.post(\n    \"https://api.prismadata.io/v1/location/batch/infosc\",\n    json={\"1\": [-23.55, -46.63], \"2\": [-22.90, -43.17]},\n    headers={\"X-Apikey\": \"ak_xxxxxxxxxxxxxxxx\"},\n)\ndados = resp.json()"},{"lang":"Python SDK","source":"from prismadata import Client\n\nclient = Client(api_key=\"ak_xxxxxxxxxxxxxxxx\")\nresult = client.infosc_batch(points={\n    \"p1\": [-23.55, -46.63],\n    \"p2\": [-22.90, -43.17],\n})\nprint(result)"},{"lang":"R SDK","source":"library(prismadata)\n\nclient <- prismadata_client(api_key = \"ak_xxxxxxxxxxxxxxxx\")\npoints <- list(\n  \"p1\" = c(-23.5505, -46.6333),\n  \"p2\" = c(-22.9068, -43.1729),\n  \"p3\" = c(-15.7942, -47.8822)\n)\n\nresults <- client$infosc_batch(points = points)\nprint(results)"},{"lang":"TypeScript SDK","source":"import { PrismaDataClient } from \"prismadata\";\n\nconst client = new PrismaDataClient({ apiKey: \"ak_xxxxxxxxxxxxxxxx\" });\nconst result = await client.infoscBatch({\n  p1: [-23.55, -46.63],\n  p2: [-22.90, -43.17],\n});\nconsole.log(result);"}]}}},"components":{"securitySchemes":{"X-Apikey":{"type":"apiKey","in":"header","name":"X-Apikey","description":"Token de acesso via header."},"api_key":{"type":"apiKey","in":"query","name":"api_key","description":"Token de acesso via query parameter."},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Token JWT obtido via POST /auth/token"}},"headers":{"X-RateLimit-Limit":{"description":"Número máximo de requisições permitidas por minuto para o usuário.","schema":{"type":"integer","example":60}},"X-RateLimit-Remaining":{"description":"Número de requisições restantes na janela de rate limit atual.","schema":{"type":"integer","example":57}},"X-RateLimit-Reset":{"description":"Unix timestamp (segundos) indicando quando a janela de rate limit será reiniciada.","schema":{"type":"integer","example":1738281600}}},"responses":{"RateLimitExceeded":{"description":"Too Many Requests - Rate limit ou quota excedidos.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"text/plain":{"schema":{"type":"string"},"examples":{"rate_limit":{"summary":"Rate limit excedido","value":"rate limit exceeded"},"quota":{"summary":"Quota excedida","value":"limit exceeded: 1000 requests used, limit is 1000"}}}}}},"schemas":{"Coordinates":{"items":{"type":"number"},"type":"array","maxItems":2,"minItems":2,"title":"Coordinates","description":"Encapsula as coordenadas geográficas","example":[-23.5505,-46.6333]},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InfoSCResponse":{"description":"Informacoes do setor censitario associado a coordenada consultada","properties":{"prismadata__infosc__area_km2":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Área em km² da região associada ao ponto.","title":"Área (km²)"},"prismadata__infosc__municipio":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Nome do município.","title":"Município"},"prismadata__infosc__regiao":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Região do país onde o ponto se encontra.","title":"Região"},"prismadata__infosc__situacao":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Situação urbana ou rural do ponto.","title":"Situação"},"prismadata__infosc__tipo_sc":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Tipo do setor censitário.","title":"Tipo do setor censitário"},"prismadata__infosc__tipo_situacao":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Tipo da situação urbana.","title":"Tipo da situação"},"prismadata__infosc__uf":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Sigla da unidade federativa.","title":"UF"},"prismadata__infosc__cd_setor":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Codigo IBGE do setor censitario. Disponivel apenas para roles 'admin' ou 'location:infosc:cd_setor'.","title":"Código do setor censitário"}},"type":"object"},"LocationDict":{"additionalProperties":{"$ref":"#/components/schemas/Coordinates"},"type":"object","maxProperties":1024,"title":"LocationDict","description":"Modelo da entrada em batch","example":{"point1":[-23.5505,-46.6333],"point2":[40.7128,-74.006]}},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
