openapi: 3.0.0 info: title: API Pension - Open Finance Brasil description: | API de Previdência do Open Finance Brasil – Fase 4. API que retorna informações de Previdência. version: 2.1.0 license: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' contact: name: Governança do Open Finance Brasil – Especificações email: gt-interfaces@openbankingbr.org url: 'https://openbanking-brasil.github.io/areadesenvolvedor/' servers: - url: 'https://api.banco.com.br/open-banking/opendata-pension/v2' description: Servidor de Produção - url: 'https://apih.banco.com.br/open-banking/opendata-pension/v2' description: Servidor de Homologação tags: - name: Risk Coverages description: Operações relacionadas à Previdência com Coberturas de Risco. - name: Survival Coverages description: Operações relacionadas à Previdência com Coberturas de Sobrevivência. paths: /risk-coverages: get: tags: - Risk Coverages summary: Informações de Previdência com Cobertura de Riscos. operationId: getPensionRiskCoverages description: Método para obter informações de Previdência de Cobertura de Riscos. parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' responses: '200': $ref: '#/components/responses/OKResponseRiskCoveragePension' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' '529': $ref: '#/components/responses/SiteIsOverloaded' /survival-coverages: get: tags: - Survival Coverages summary: Informações de Previdência com Cobertura de Sobrevivência. operationId: getPensionSurvivalCoverages description: Método para obter informações de Previdência de Cobertura de Sobrevivência. parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/pageSize' responses: '200': $ref: '#/components/responses/OKResponseSurvivorCoveragePension' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' '529': $ref: '#/components/responses/SiteIsOverloaded' components: schemas: OKResponseRiskCoveragePension: type: object required: - data - links - meta properties: data: type: array description: Conjunto de informações referente ao produto previdência minItems: 1 maxItems: 2147483647 items: $ref: '#/components/schemas/GetRiskPensionContractData' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/OpenDataMeta' additionalProperties: false GetRiskPensionContractData: type: object required: - participant - society properties: participant: $ref: '#/components/schemas/PensionParticipant' society: $ref: '#/components/schemas/RiskSociety' OKResponseSurvivalCoveragePension: type: object required: - data - links - meta properties: data: type: array description: Conjunto de informações referente ao produto previdência minItems: 1 maxItems: 2147483647 items: $ref: '#/components/schemas/GetSurvivalPensionContractData' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/OpenDataMeta' additionalProperties: false GetSurvivalPensionContractData: type: object required: - participant properties: participant: $ref: '#/components/schemas/PensionParticipant' society: $ref: '#/components/schemas/SurvivalSociety' additionalProperties: false SurvivalPensionInvestmentFund: type: object description: Fundos de Investimento (por fundo). required: - cnpjNumber - name - maximumAdministrationFee x-regulatory-required: - cnpjNumber - name - maximumAdministrationFee - typePerformanceFee - maximumPerformanceFee - eligibilityRule - minimumContributionAmount - minimumMathematicalProvisionAmount - currency properties: cnpjNumber: $ref: '#/components/schemas/CnpjNumber' name: type: string description: | Lista com as informações do(s) Fundo(s) de Investimento(s) disponíveis para o período de diferimento/acumulação, contemplando: - Nome Fantasia minLength: 1 maxLength: 80 example: EMPRESAAPREV maximumAdministrationFee: type: string pattern: '^(\d{1}\.\d{6})$|^(-1.000000)$' description: | Lista com as informações do(s) Fundo(s) de Investimento(s) disponíveis para o período de diferimento/acumulação, contemplando: - Taxa Máxima de Administração - em % example: '0.019800' maxLength: 9 minLength: 8 typePerformanceFee: type: string enum: - DIRETAMENTE - INDIRETAMENTE description: | Lista com as informações do(s) Fundo(s) de Investimento(s) disponíveis para o período de diferimento/acumulação, contemplando: - Tipo de taxa de performance example: DIRETAMENTE maximumPerformanceFee: type: string pattern: '^(\d{1}\.\d{6})$|^(-1.000000)$' description: | Lista com as informações do(s) Fundo(s) de Investimento(s) disponíveis para o período de diferimento/acumulação, contemplando: - Taxa Máxima de Performance - em % maxLength: 9 minLength: 8 example: '0.019800' eligibilityRule: type: boolean description: | Lista com as informações do(s) Fundo(s) de Investimento(s) disponíveis para o período de diferimento/acumulação, contemplando: - Regra de Elegibilidade example: true minimumContributionAmount: type: string minLength: 1 maxLength: 21 description: | Lista com as informações do(s) Fundo(s) de Investimento(s) disponíveis para o período de diferimento/acumulação, contemplando: - Valor Mínimo de Contribuição pattern: '^(\d{1,16}\.\d{2,4})$' example: '1000.00' minimumContributionValue: type: number description: Valor Mínimo de Aporte de Portabilidade. Caso a Regra de Elegibilidade SIM.​ minimum: 0 maximum: 2147483647 example: 1 minimumMathematicalProvisionAmount: type: string description: | Lista com as informações do(s) Fundo(s) de Investimento(s) disponíveis para o período de diferimento/acumulação, contemplando: - Valor Mínimo do Saldo Provisão matemática pattern: '^(\d{1,16}\.\d{2,4})$' example: '1000.00' minLength: 1 maxLength: 21 currency: $ref: '#/components/schemas/CurrencyCode' additionalProperties: false SurvivalPensionMinimumRequirements: type: object description: Requerimento mínimo do serviço contratado required: - contractingMinRequirement x-regulatory-required: - contractType - participantQualified - contractingMinRequirement properties: contractType: type: string minLength: 1 maxLength: 30 enum: - COLETIVO_AVERBADO - COLETIVO_INSTITUIDO - INDIVIDUAL description: | O tipo de serviço contratado. A considerar os domínios abaixo: 1. Coletivo Averbado; 2. Coletivo instituído; 3. Individual. example: COLETIVO_AVERBADO participantQualified: type: boolean description: | Indicação se o plano é destinado para participante qualificado. A considerar os domínios abaixo: 1. true 2. false example: true contractingMinRequirement: type: string format: url minLength: 1 maxLength: 1024 description: Campo aberto (possibilidade de incluir URL) example: 'https://openinsurance.com.br/aaa' additionalProperties: false CnpjNumber: type: string description: 'O CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara.' minLength: 14 maxLength: 14 pattern: '^[0-9A-Z]{12}[0-9]{2}$' example: '13456789000112' RiskProducts: type: object required: - name - code - coverages - termsAndConditions - contributionPayment - minimumRequirement x-regulatory-required: - name - code - modality - assistanceTypes - additional - pmbacRemuneration - premiumUpdateIndex - ageAdjustment - financialRegimeContractType - reclaim - otherGuaranteedValues - contributionPayment - minimumRequirement - targetAudience properties: name: type: string minLength: 1 maxLength: 80 description: 'Nome comercial do produto, pelo qual é identificado nos canais de distribuição e atendimento da sociedade.' example: Produto A code: type: string minLength: 1 maxLength: 80 description: Código único a ser definido pela sociedade. example: '0001' modality: $ref: '#/components/schemas/EnumProductModality' coverages: type: array description: Conjunto de informações referente a cobertura minItems: 1 maxItems: 2147483647 items: $ref: '#/components/schemas/Coverage' assistanceTypes: type: array items: $ref: '#/components/schemas/EnumAssistanceType' example: - PET - FUNERAL assistanceTypesAdditionalInfos: type: array minItems: 0 maxItems: 2147483647 items: type: string description: Lista a ser preenchida pelas participantes quando houver 'Outros' no campo 'Tipo de Assistência'. example: - Assistance additional info. planAdditional: $ref: '#/components/schemas/EnumPlanAdditional' termsAndConditions: type: array description: Conjunto de informações referente aos termos e condições conforme número do processo SUSEP minItems: 1 maxItems: 2147483647 items: $ref: '#/components/schemas/TermsAndConditions' pmbacRemuneration: $ref: '#/components/schemas/RiskPensionEnumPmbacRemuneration' premiumUpdateIndex: $ref: '#/components/schemas/RiskPensionEnumPremiumUpdateIndex' ageAdjustment: $ref: '#/components/schemas/AgeAdjustment' financialRegimeContractType: $ref: '#/components/schemas/RiskPensionEnumFinancialRegime' reclaim: $ref: '#/components/schemas/RiskPensionReclaim' otherGuaranteedValues: $ref: '#/components/schemas/RiskPensionEnumOtherGuaranteedValues' contributionPayment: $ref: '#/components/schemas/RiskPensionEnumContributionPayment' contributionTax: type: string description: Distribuição de frequência relativa aos valores referentes às taxas cobradas minimumRequirement: $ref: '#/components/schemas/RiskPensionMinimumRequirement' targetAudience: type: string description: | A considerar os domínios abaixo: 1. Pessoa Natural 2. Pessoa Jurídica 3. Ambas (Pessoa Natural e Jurídica) enum: - PESSOA_NATURAL - PESSOA_JURIDICA - PESSOA_NATURAL_JURIDICA example: PESSOA_NATURAL SurvivalProducts: type: object required: - name - code - defferalPeriod - grantPeriodBenefit - costs x-regulatory-required: - name - code - segment - modality - type - defferalPeriod - grantPeriodBenefit - costs - minimumRequirement - targetAudience properties: name: type: string minLength: 1 maxLength: 80 description: | Nome comercial do produto, pelo qual é identificado nos canais de distribuição e atendimento da sociedade. example: Produto A code: type: string minLength: 1 maxLength: 80 description: | Código único a ser definido pela sociedade. example: '0001' segment: type: string description: | Segmento do qual se trata o produto contratado 1. Seguro de Pessoas 2. Previdência enum: - SEGURO_PESSOAS - PREVIDENCIA example: PREVIDENCIA modality: type: string description: | 1. Contribuição Variável; 2. Benefício Definido. enum: - CONTRIBUICAO_VARIAVEL - BENEFICIO_DEFINIDO example: BENEFICIO_DEFINIDO additionalInfo: type: string description: Campo aberto (possibilidade de incluir URL) example: 'https://openinsurance.com.br/aaa' minLength: 1 maxLength: 1024 termsAndConditions: type: array description: Conjunto de informações referente aos termos e condições conforme número do processo SUSEP items: $ref: '#/components/schemas/TermsAndConditions' minItems: 1 maxItems: 2147483647 type: $ref: '#/components/schemas/SurvivalPensionType' defferalPeriod: $ref: '#/components/schemas/SurvivalPensionDefferalPeriod' grantPeriodBenefit: $ref: '#/components/schemas/SurvivalPensionGrantPeriodBenefit' costs: $ref: '#/components/schemas/SurvivalPensionCosts' minimumRequirement: $ref: '#/components/schemas/SurvivalPensionMinimumRequirements' targetAudience: $ref: '#/components/schemas/SurvivalPensionEnumTargetAudience' SurvivalPensionDefferalPeriod: type: object description: Período de Diferimento required: - interestRate - otherMinimumPerformanceGarantees - reversalFinancialResults - redemptionPaymentTerm - portabilityPaymentTerm x-regulatory-required: - interestRate - updateIndex - otherMinimumPerformanceGarantees - reversalFinancialResults - permissionExtraordinaryContributions - permissionScheduledFinancialPayments - gracePeriod - redemptionPaymentTerm - portabilityPaymentTerm properties: interestRate: type: string maxLength: 9 minLength: 8 pattern: '^(\d{1}\.\d{6})$|^(-1.000000)$' description: Taxa de juros mensal garantida que remunera o plano durante a fase de diferimento/acumulação. example: '0.019800' updateIndex: $ref: '#/components/schemas/UpdateIndex' otherMinimumPerformanceGarantees: type: string description: 'Para produtos do tipo PDR e VDR, indicação do índice de ampla divulgação utilizados como garantia mínima de desempenho.' example: SELIC minLength: 1 maxLength: 12 otherMinGuaranteesPercentage: type: string description: Para produtos do tipo PDR e VDR, indicação do percentual do índice de ampla divulgação utilizados como garantia mínima de desempenho. Exemplo 1.000000 igual a 100 por cento. pattern: ^(\d{1}\.\d{6})$ minLength: 8 maxLength: 8 example: '1.000000' reversalFinancialResults: type: string maxLength: 9 minLength: 8 pattern: '^(\d{1}\.\d{6})$|^(-1.000000)$' description: Percentual de reversão de excedente financeiro na concessão. Em %. example: '0.019800' minimumPremiums: type: array description: Valor mínimo do prêmio/contribuição aceita pela sociedade ao plano (identificar valor mensal e/ou aporte único) minItems: 0 maxItems: 2147483647 items: $ref: '#/components/schemas/SurvivalPensionMinimumPremium' premiumPaymentMethods: type: array description: Meio de pagamento escolhido pelo segurado minItems: 0 maxItems: 2147483647 items: type: string enum: - CARTAO_CREDITO - DEBITO_CONTA - DEBITO_CONTA_POUPANCA - BOLETO_BANCARIO - PIX - CARTAO_DEBITO - REGRA_PARCEIRO - CONSIGNACAO_FOLHA_PAGAMENTO - PONTOS_PROGRAMA_BENEFICIO - TED_DOC - OUTROS - NA example: CARTAO_CREDITO premiumPaymentMethodsAdditionalInfo: type: string description: | Campo livre para preenchimento das informações adicionais referente a descrição do meio de pagamento. [Restrição] Obrigatório quando ""premiumPaymentMethods"" for igual 'OUTROS' minLength: 1 maxLength: 144 example: Informações adicionais permissionExtraordinaryContributions: description: | Se ficam permitidos aportes extraordinários. A considerar os seguintes domínios: 1. true 2. false type: boolean example: true permissionScheduledFinancialPayments: description: | Se ficam permitidos pagamentos financeiros programados. A considerar os seguintes domínios: 1. true 2. false type: boolean example: true gracePeriod: $ref: '#/components/schemas/SurvivalPensionGracePeriod' redemptionPaymentTerm: type: integer description: Prazo em dias para pagamento do resgate maximum: 9999 example: 10 portabilityPaymentTerm: type: integer description: Prazo em dias para pagamento da portabilidade (entre empresas diferentes). example: 20 minimum: 0 maximum: 9999 investmentFunds: type: array description: Lista com as informações do(s) Fundo(s) de Investimento(s) disponíveis para o período de diferimento/acumulação ou de concessão minItems: 0 maxItems: 2147483647 items: $ref: '#/components/schemas/SurvivalPensionInvestmentFund' additionalProperties: false SurvivalPensionType: type: string description: | 1. PGBL 2. PRGP 3. PAGP 4. PRSA 5. PRI 6. PDR 7. VGBL 8. VRGP 9. VAGP 10. VRSA 11. VRI 12. VDR 13. Demais produtos de Previdência. enum: - PGBL - PRGP - PAGP - PRSA - PRI - PDR - VGBL - VRGP - VAGP - VRSA - VRI - VDR - DEMAIS_PRODUTOS_PREVIDENCIA example: PGBL SurvivalPensionGracePeriod: type: object description: Prazo de carência required: - redemption - betweenRedemptionRequests - portability - betweenPortabilityRequests x-regulatory-required: - redemption - betweenRedemptionRequests - portability - betweenPortabilityRequests properties: redemption: type: integer description: | Prazo em dias de carência para resgate Para Coletivos: Valor máximo da carência. example: 100 minimum: 0 maximum: 9999 betweenRedemptionRequests: type: integer description: | Prazo em dias de carência entre pedidos de resgate Para Coletivos: Valor máximo da carência example: 30 minimum: 0 maximum: 9999 portability: type: integer description: Prazo em dias de carência para portabilidade (entre empresas diferentes). example: 12 minimum: 0 maximum: 9999 betweenPortabilityRequests: type: integer description: Prazo em dias de carência entre pedidos de portabilidade (entre empresas diferentes). example: 15 minimum: 0 maximum: 9999 additionalProperties: false SurvivalPensionCosts: type: object description: Custos required: - loadingAntecipated - loadingLate x-regulatory-required: - loadingAntecipated - loadingLate properties: loadingAntecipated: $ref: '#/components/schemas/SurvivalPensionLoadingAntecipated' loadingLate: $ref: '#/components/schemas/SurvivalPensionLoadingLate' additionalProperties: false SurvivalPensionLoadingAntecipated: type: object description: Carregamento antecipado. required: - minValue - maxValue x-regulatory-required: - minValue - maxValue properties: minValue: type: string pattern: '^(\d{1}\.\d{6})$|^(-1.000000)$' maxLength: 9 minLength: 8 description: Percentual mínimo de carregamento cobrada quando do pagamento do prêmio/ contribuição. Em %. example: '0.019800' maxValue: type: string pattern: '^(\d{1}\.\d{6})$|^(-1.000000)$' maxLength: 9 minLength: 8 description: Percentual máximo de carregamento cobrada quando do pagamento do prêmio/ contribuição. Em %. example: '0.019800' additionalProperties: false SurvivalPensionLoadingLate: type: object description: Carregamento postecipado. required: - minValue - maxValue x-regulatory-required: - minValue - maxValue properties: minValue: type: string pattern: '^(\d{1}\.\d{6})$|^(-1.000000)$' maxLength: 9 minLength: 8 description: Percentual mínimo de taxa de carregamento cobrado quando da efetivação de resgate ou portabilidade. example: '0.019800' maxValue: type: string pattern: '^(\d{1}\.\d{6})$|^(-1.000000)$' maxLength: 9 minLength: 8 description: Percentual máximo de taxa de carregamento cobrado quando da efetivação de resgate ou portabilidade. example: '0.019800' additionalProperties: false SurvivalPensionMinimumPremium: type: object x-regulatory-required: - currency - periodicityDescription - amount description: Valor mínimo de prêmio/contribuição properties: currency: $ref: '#/components/schemas/CurrencyCode' periodicityDescription: description: Descrição da periodicidade do prêmio/contribuição type: string minLength: 5 maxLength: 15 pattern: ^(?!\s)[\w\W\s]*[^\s]$ example: MENSAL amount: type: string maxLength: 21 pattern: '^(\d{1,16}\.\d{2,4})$' description: Valor mínimo em R$ de prêmio/ contribuição aceita pela sociedade ao plano (identificar valor mensal e/ou aporte único). example: '250.00' additionalProperties: false SurvivalPensionGrantPeriodBenefit: type: object description: Período de concessão do benefício required: - incomeModalities - interestRate - reversalFinancialResults x-regulatory-required: - incomeModalities - biometricTable - interestRate - updateIndex - reversalFinancialResults properties: incomeModalities: type: array description: Modalidades de renda disponíveis para contratação. A considerar os seguintes domínios minItems: 1 maxItems: 2147483647 items: type: string description: | Modalidades de renda disponíveis para contratação. A considerar os seguintes domínios: 1. Pagamento Único 2. Renda por Prazo Certo; 3. Renda Temporária; 4. Renda Temporária Reversível; 5. Renda Temporária com mínimo garantido; 6. Renda Temporária Reversível com Mínimo Garantido; 7. Renda Vitalícia; 8. Renda Vitalícia Reversível ao Beneficiário Indicado 9. Renda Vitalícia Reversível ao Cônjuge com Continuidade de Menores 10. Renda Vitalícia com o Mínimo Garantido; 11. Renda Vitalícia com Prazo mínimo garantido. 12. NA enum: - PAGAMENTO_UNICO - RENDA_PRAZO_CERTO - RENDA_TEMPORARIA - RENDA_TEMPORARIA_REVERSIVEL - RENDA_TEMPORARIA_MINMO_GARANTIDO - RENDA_TEMPORARIA_REVERSIVEL_MININO_GARANTIDO - RENDA_VITALICIA - RENDA_VITALICIA_REVERSIVEL_BENEFICIARIO_INDICADO - RENDA_VITALICIA_CONJUGE_CONTINUIDADE_MENORES - RENDA_VITALICIA_MINIMO_GARANTIDO - RENDA_VITALICIA_PRAZO_MINIMO_GRANTIDO - NA example: PAGAMENTO_UNICO biometricTable: type: array description: Obrigatório caso modalidade de renda seja diferente de (PAGAMENTO_UNICO, RENDA_PRAZO_CERTO). Tábua biométrica é o instrumento que mede a duração da vida humana (também conhecida como tábua de mortalidade) ou a probabilidade de entrada em invalidez e é um parâmetro utilizado para tarifar os planos de previdência complementar aberta. minItems: 0 maxItems: 2147483647 items: type: string description: | Tábua biométrica utilizada como parâmetro para conversão em renda atuarial que deve observar a relação discriminada de coberturas, conforme Tabela II.2 do Anexo II. Deverá ser informada a tábua biométrica aplicável à modalidade de renda padrão do plano. enum: - AT_2000_MALE - AT_2000_FEMALE - AT_2000_MALE_FEMALE - AT_2000_MALE_SUAVIZADA_10 - AT_2000_FEMALE_SUAVIZADA_10 - AT_2000_MALE_FEMALE_SUAVIZADA_10 - AT_2000_MALE_SUAVIZADA_15 - AT_2000_FEMALE_SUAVIZADA_15 - AT_2000_MALE_FEMALE_SUAVIZADA_15 - AT_83_MALE - AT_83_FEMALE - AT_83_MALE_FEMALE - BR_EMSSB_MALE - BR_EMSSB_FEMALE - BR_EMSSB_MALE_FEMALE - NA example: AT_2000_MALE interestRate: type: string maxLength: 9 minLength: 8 pattern: '^(\d{1}\.\d{6})$|^(-1.000000)$' description: Taxa de juros garantida utilizada para conversão em renda. Em % example: '0.019800' updateIndex: $ref: '#/components/schemas/UpdateIndex' reversalFinancialResults: type: string maxLength: 9 minLength: 8 pattern: '^(\d{1}\.\d{6})$|^(-1.000000)$' description: Percentual de reversão de excedente financeiro na concessão. Em %. example: '0.019800' investmentFunds: type: array description: Lista com as informações do(s) Fundo(s) de Investimento(s) disponíveis para o período de diferimento/acumulação ou de concessão. minItems: 0 maxItems: 2147483647 items: $ref: '#/components/schemas/SurvivalPensionInvestmentFund' additionalProperties: false Links: type: object description: Referências para outros recusos da API requisitada. required: - self properties: self: type: string format: url maxLength: 2000 description: URI completo que gerou a resposta atual. example: 'https://api.banco.com.br/open-banking/api/v2/resource' first: type: string format: url maxLength: 2000 description: URI da primeira página que originou essa lista de resultados. Restrição - Obrigatório quando não for a primeira página da resposta example: 'https://api.banco.com.br/open-banking/api/v2/resource' prev: type: string format: url maxLength: 2000 description: "URI da página anterior dessa lista de resultados. Restrição - \tObrigatório quando não for a primeira página da resposta" example: 'https://api.banco.com.br/open-banking/api/v2/resource' next: type: string format: url maxLength: 2000 description: URI da próxima página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta example: 'https://api.banco.com.br/open-banking/api/v2/resource' last: type: string format: url maxLength: 2000 description: URI da última página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta example: 'https://api.banco.com.br/open-banking/api/v2/resource' additionalProperties: false PensionParticipant: type: object description: Conjunto de informações relativas ao participante do produto de Open Finance required: - brand - name - cnpjNumber x-regulatory-required: - brand - name - cnpjNumber properties: brand: type: string description: 'Nome da marca reportada pelo participante do Open Finance. O conceito a que se refere a ''marca'' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes.' minLength: 1 maxLength: 80 pattern: '^(?!\s)[\w\W\s]*[^\s]$' example: Organização name: type: string description: Nome do participante do Open Finance. minLength: 1 maxLength: 80 pattern: '^(?!\s)[\w\W\s]*[^\s]$' example: Organização A1 cnpjNumber: $ref: '#/components/schemas/CnpjNumber' urlComplementaryList: description: | Espera-se que valor de retorno, após acesso ao link ‘urlComplementaryList’, deve ser array de objeto com a estrutura abaixo: - ‘name’ com o valor contido no campo ‘LegalEntityName’ conforme cadastro no diretório; - ‘cnpjNumber’ com o valor contido no campo CNPJ (‘RegistrationNumber’) correspondente a esta instituição; - Ambos do tipo string; - Ambos obrigatórios. type: string format: url maxLength: 1024 example: 'https://empresaa1.com/companies' additionalProperties: false RiskSociety: type: object description: Objeto que representa a empresa regulada pela SUSEP que oferta produtos definidos em OPIN required: - name - cnpjNumber - products x-regulatory-required: - name - cnpjNumber properties: name: type: string description: Nome da Sociedade Seguradora. minLength: 1 maxLength: 80 example: Society A1 cnpjNumber: $ref: '#/components/schemas/CnpjNumber' brand: type: string description: Nome da Marca reportada pelo participante do Open Insurance. O conceito a que se refere a 'marca' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes. pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 80 minLength: 1 example: Marca no OPIN. products: type: array minItems: 1 description: Lista de produtos de uma empresa. items: $ref: '#/components/schemas/RiskProducts' additionalProperties: false SurvivalSociety: type: object description: Objeto que representa a empresa regulada pela SUSEP que oferta produtos definidos em OPIN required: - name - cnpjNumber - products x-regulatory-required: - name - cnpjNumber properties: name: type: string description: Nome da Sociedade Seguradora. minLength: 1 maxLength: 80 example: Society A1 cnpjNumber: $ref: '#/components/schemas/CnpjNumber' brand: type: string description: Nome da Marca reportada pelo participante do Open Insurance. O conceito a que se refere a 'marca' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes. pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 80 minLength: 1 example: Marca no OPIN. products: type: array minItems: 1 description: Lista de produtos de uma empresa. items: $ref: '#/components/schemas/SurvivalProducts' additionalProperties: false RiskPensionEnumIndemnifiablePeriodType: type: string description: | Listagem do pagamento para cada benefício: 1. Quantidade determinada de parcelas; 2. Até o fim de ciclo determinado. Observação: Se for pagamento único, este campo não deve ser informado. enum: - QUANTIDADE_DETERMINADA_PARCELAS - FIM_CICLO_DETERMINADO example: QUANTIDADE_DETERMINADA_PARCELAS SurvivalPensionEnumTargetAudience: type: string minLength: 1 maxLength: 30 description: | A considerar os domínios abaixo: 1. Pessoa Natural 2. Pessoa Jurídica enum: - PESSOA_NATURAL - PESSOA_JURIDICA example: PESSOA_NATURAL EnumProductModality: type: string description:
  1. Funeral
  2. Prestamista (exceto Habitacional e Rural)
  3. Viagem
  4. Educacional
  5. Dotal (Misto e Puro)
  6. Acidentes Pessoais
  7. Vida
  8. Perda do Certificado de Habilitação de Voo – PCHV
  9. Doenças Graves ou Doença Terminal
  10. Desemprego/ Perda de Renda
  11. Eventos Aleatórios
  12. Pecúlio
  13. Pensão prazo certo
  14. Pensão menores 21 anos
  15. Pensão menores 24 anos
  16. Pensão cônjuge vitalícia
  17. Pensão cônjuge temporária
enum: - FUNERAL - PRESTAMISTA - VIAGEM - EDUCACIONAL - DOTAL - ACIDENTES_PESSOAIS - VIDA - PERDA_CERTIFICADO_HABILITACAO_VOO - DOENCAS_GRAVES_DOENCA_TERMINAL - DESEMPREGO_PERDA_RENDA - EVENTOS_ALEATORIOS - PECULIO - PENSAO_PRAZO_CERTO - PENSAO_MENORES_21 - PENSAO_MENORES_24 - PENSAO_CONJUGE_VITALICIA - PENSAO_CONJUGE_TEMPORARIA example: FUNERAL Coverage: type: object required: - coveragePeriod x-regulatory-required: - type - attributes properties: type: $ref: '#/components/schemas/EnumRiskPensionCoverageType' typeAdditionalInfos: type: array description: | Lista de textos para complementar informação relativa ao campo type, quando for selecionada a opção 'OUTROS'. Restrição: Campo de preenchimento obrigatório se 'type' estiver preenchida a opção 'OUTROS' minItems: 0 maxItems: 2147483647 items: type: string maxLength: 100 example: - Detalhar os serviços - benefícios - outros attributes: $ref: '#/components/schemas/CoverageAttributes' coveragePeriod: type: array description: Mapeamento dos regimes financeiros associados a cada modalidade e cobertura do produto items: type: string enum: - VITALICIA - TEMPORARIA example: - TEMPORARIA additionalProperties: false EnumRiskPensionCoverageType: type: string description: 'É o conjunto dos riscos cobertos elencados na apólice. (RESOLUÇÃO CNSP Nº 341/2016). Listagem de coberturas incluídas no produto que deve observar a relação discriminada de coberturas, conforme Tabela Tipo de Cobertura.' enum: - MORTE - INVALIDEZ - OUTROS example: MORTE CoverageAttributes: type: object description: Atributos da cobertura required: - minValue - maxValue - indemnifiableDeadline - gracePeriod - excludedRisks x-regulatory-required: - minValue - maxValue - indemnifiablePeriod - indemnifiableDeadline - indemnityPaymentMethod - gracePeriod - excludedRisks - profitModality properties: minValue: $ref: '#/components/schemas/InsurancePensionMinValue' maxValue: $ref: '#/components/schemas/InsurancePensionMaxValue' indemnifiablePeriod: $ref: '#/components/schemas/RiskPensionEnumIndemnifiablePeriodType' indemnifiableDeadline: type: integer description: Número máximo de parcelas indenizáveis. Caso seja relacionado a parcelas. example: 1 indemnityPaymentMethod: $ref: '#/components/schemas/RiskPensionEnumIndemnityPaymentMethod' gracePeriod: type: object x-regulatory-required: - amount - unit description: Período de carência da cobertura properties: amount: type: integer format: int64 description: Informar o prazo de carência example: 90 minimum: 0 maximum: 9999999999 unit: $ref: '#/components/schemas/EnumGracePeriodUnit' additionalProperties: false excludedRisks: type: array items: $ref: '#/components/schemas/EnumExcludedRisks' excludedRisksURL: type: string format: url minLength: 1 maxLength: 1024 description: Campo aberto (possibilidade de incluir URL). example: 'https://openinsurance.com.br/aaa' profitModality: $ref: '#/components/schemas/RiskPensionEnumProfitModality' additionalProperties: false RiskPensionGracePeriod: type: object description: Período de carência x-regulatory-required: - amount - unit properties: amount: type: integer format: int64 description: Informar o prazo de carência example: 90 minimum: 0 maximum: 9999999999 unit: $ref: '#/components/schemas/RiskPensionEnumGracePeriodUnit' additionalProperties: false TermsAndConditions: type: object required: - susepProcessNumber - contractTermsConditions x-regulatory-required: - susepProcessNumber - contractTermsConditions properties: susepProcessNumber: type: string description: 'Sequência numérica utilizada para consulta dos processos eletrônicos na SUSEP, com caracteres especiais, conforme campo de consulta no site da SUSEP (XXXXX.XXXXXX/XXXX-XX)
Observação: Mascaras da SUSEP – Serão permitidos todas as máscaras de Produtos. Limitar pelos códigos das Máscaras.' minLength: 1 maxLength: 30 pattern: '^(\d{5}\.\d{6}\/\d{4}-\d{2}$|^\d{2}\.\d{6}\/\d{2}-\d{2}$|^\d{3}-\d{5}\/\d{2}$|^\d{5}\.\d{6}\/\d{2}-\d{2})$' example: 15414.622222/2222-22 contractTermsConditions: type: string format: url description: 'Representam as Condições Gerais, Condições Especiais e Condições ou Cláusulas Particulares de um mesmo produto. (Circular SUSEP 321/06). Campo aberto (possibilidade de incluir URL)' minLength: 1 maxLength: 1024 example: 'https://openinsurance.com.br/aaa' additionalProperties: false UpdateIndex: type: string description: | Índice utilizado na atualização do prêmio e do capital segurado, caso critério de atualização por meio de índice: 1. IPCA (IBGE); 2. IGP-M (FGV); 3. INPC (IBGE). enum: - IPCA - IGP_M - INPC example: IPCA RiskPensionReclaim: type: object description: Resgate required: - gracePeriod x-regulatory-required: - gracePeriod properties: table: type: array description: Percentual de resgate para PMBaC para cada conjunto aplicável items: $ref: '#/components/schemas/RiskPensionReclaimTableItem' minItems: 1 maxItems: 2147483647 gracePeriod: $ref: '#/components/schemas/RiskPensionGracePeriod' differenciatedPercentage: description: Campo aberto (possibilidade de incluir URL) example: | https://openinsurance.com.br/aaa’ Obs.: Exceção de cobertura ou critério definido acima será descrito aqui na URL Exemplo: Cobertura X: a partir de 25 meses = 100% maxLength: 1024 additionalProperties: false InsurancePensionMinValue: type: object x-regulatory-required: - amount - currency description: 'Listagem do valor mínimo de cobertura (Capital Segurado), diária ou parcela aceito pela sociedade para cada combinação de modalidade/cobertura do produto.
Conforme moeda.' properties: amount: type: string description: Valor mínimo/máximo de cobertura diária ou parcelada maxLength: 21 pattern: '^(\d{1,16}\.\d{2,4})$' example: '0.01' currency: $ref: '#/components/schemas/CurrencyCode' additionalProperties: false InsurancePensionMaxValue: type: object x-regulatory-required: - amount - currency description: 'Listagem do valor máximo de cobertura (Capital Segurado), diária ou parcela aceito pela sociedade para cada combinação de modalidade/cobertura do produto.
Conforme moeda.' properties: amount: type: string description: Valor mínimo/máximo de cobertura diária ou parcelada maxLength: 21 pattern: '^(\d{1,16}\.\d{2,4})$' example: '0.01' currency: $ref: '#/components/schemas/CurrencyCode' additionalProperties: false RiskPensionMinimumRequirement: type: object description: Requisitos mínimos required: - contractingMinRequirement x-regulatory-required: - contractType - contractingMinRequirement properties: contractType: type: string description: | O tipo de serviço contratado. A considerar os domínios abaixo: 1. Coletivo; 2. Individual. enum: - COLETIVO - INDIVIDUAL example: COLETIVO contractingMinRequirement: type: string format: url description: Campo aberto contendo todos os requisitos mínimos para contratação (possibilidade de incluir URL). minLength: 1 maxLength: 1024 example: 'https://openinsurance.com.br/aaa' additionalProperties: false RiskPensionReclaimTableItem: type: object required: - initialMonthRange - finalMonthRange - percentage x-regulatory-required: - initialMonthRange - finalMonthRange - percentage properties: initialMonthRange: type: integer description: Mês inicial do range minimum: 1 maximum: 12 example: 1 finalMonthRange: type: integer description: Mês final do range minimum: 1 maximum: 12 example: 12 percentage: type: string pattern: '^(\d{1}\.\d{6})$|^(-1.000000)$' maxLength: 9 minLength: 8 description: Percentual de faixa de resgate. example: '0.019800' additionalProperties: false RiskPensionEnumPmbacRemuneration: type: object description: Atualização/ Remuneração da PMBaC required: - interestRate x-regulatory-required: - interestRate - updateIndexes properties: interestRate: type: string pattern: '^(\d{1}\.\d{6})$|^(-1.000000)$' description: Taxa de juros para capitalização da PMBaC maxLength: 9 minLength: 8 example: '0.019800' updateIndexes: type: array description: Índice utilizado na atualização da PMBaC minItems: 0 maxItems: 2147483647 items: type: string description: | Índice utilizado na atualização da PMBaC: 1. IPCA (IBGE) 2. IGP-M (FGV) 3. INPC (IBGE) 4. NA enum: - IPCA - IGP_M - INPC - NA example: IPCA additionalProperties: false AgeAdjustment: type: object description: Reenquadramento etário required: - criterias - frequency x-regulatory-required: - criterias - frequency properties: criterias: type: array description: Critério para reenquadramento etário minItems: 1 maxItems: 2147483647 items: type: string description: | Critério escolhido para reenquadramento etário 1. Após período em anos 2. A cada período em anos 3. Por mudança de faixa etária 4. Não aplicável 5. NA example: APOS_PERIODO_ANOS enum: - APOS_PERIODO_ANOS - CADA_PERIODO_ANOS - MUDANCA_FAIXA_ETARIA - NAO_APLICAVEL - NA frequency: type: integer description: 'Período em anos, caso critério de reenquadramento após ou a cada período em anos.' example: 10 additionalProperties: false CurrencyCode: type: string pattern: '^([A-Z]{3})$' minLength: 3 maxLength: 3 description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' example: BRL EnumExcludedRisks: type: string description: Listagem para indicar quais serão o(s) risco(s) excluído(s) aplicável(is) à(s) cobertura(s). enum: - ATO_RECONHECIMENTO_PERIGOSO - ATO_ILICITO_DOLOSO_PRATICADO_SEGURADO - OPERACOES_GUERRA - FURACOES_CICLONES_TERREMOTOS - MATERIAL_NUCLEAR - DOENCAS_LESOES_PREEXISTENTES - EPIDEMIAS_PANDEMIAS - SUICIDIO - ATO_ILICITO_DOLOSO_PRATICADO_CONTROLADOR - OUTROS example: ATO_RECONHECIMENTO_PERIGOSO EnumAssistanceType: type: string description: 'Lista padronizada de tipo de assistências ofertadas vinculadas ao produto. Por exemplo, Funeral, Bicicleta, Assistência PET – Tabela padrão a ser consolidada com retorno das empresas com a relação de assistências, permitindo um campo ‘Outros’ para assistências não contempladas na tabela padronizada.' enum: - ACOMPANHANTE_CASO_HOSPITALIZACAO_PROLONGADA - ARQUITETO_VIRTUAL - ASSESSORIA_FINANCEIRA - AUTOMOVEL - AUXILIO_NATALIDADE - AVALIACAO_CLINICA_PREVENTIVA - BOLSA_PROTEGIDA - CESTA_BASICA - CHECKUP_ODONTOLOGICO - CLUBE_VANTAGENS_BENEFICIOS - CONVALESCENCIA - DECESSO - DESCONTO_FARMACIAS_MEDICAMENTOS - DESPESAS_FARMACEUTICAS_VIAGEM - DIGITAL - EDUCACIONAL - EMPRESARIAL - ENCANADOR - ENTRETENIMENTO - EQUIPAMENTOS_MEDICOS - FIANCAS_DESPESAS_LEGAIS - FISIOTERAPIA - FUNERAL - HELP_LINE - HOSPEDAGEM_ACOMPANHANTE - INTERRUPCAO_VIAGEM - INVENTARIO - MAIS_VIDA - MAMAE_BEBE - MEDICA_ACIDENTE_DOENCA - MOTOCICLETA - MULHER - NUTRICIONISTA - ODONTOLOGICA - ORIENTACAO_FITNESS - ORIENTACAO_JURIDICA - ORIENTACAO_NUTRICIONAL - PERSONAL_FITNESS - ORIENTACAO_PSICOSSOCIAL_FAMILIAR - PERDA_ROUBO_CARTAO - PET - PRORROGACAO_ESTADIA - PROTECAO_DADOS - RECOLOCACAO_PROFISSIONAL - REDE_DESCONTO_NUTRICIONAL - RESIDENCIAL - RETORNO_MENORES_SEGURADO - SAQUE_COACAO - SAUDE_BEM_ESTAR - SEGUNDA_OPINIAO_MEDICA - SENIOR - SUSTENTAVEL_DESCARTE_ECOLOGICO - TELEMEDICINA - VIAGEM - VITIMA - OUTROS example: ACOMPANHANTE_CASO_HOSPITALIZACAO_PROLONGADA EnumPlanAdditional: type: string description: Adicional do plano enum: - SORTEIO - SERVICOS_ASSISTENCIAS_COMPLEMENTARES_PAGO - SERVICOS_ASSISTENCIA_COMPLEMENTARES_GRATUITO - OUTROS example: SORTEIO EnumGracePeriodUnit: type: string description: | Informar o critério de carência para a cobertura: 1. Dias 2. Meses enum: - DIAS - MESES example: MESES RiskPensionEnumGracePeriodUnit: type: string description: | Informar o critério de carência para resgate: 1. Dias; 2. Meses; enum: - DIAS - MESES example: MESES RiskPensionEnumFinancialRegime: type: string description: | Listagem de regime financeiro para cada combinação de modalidade/cobertura do produto indicando: 1. Repartição simples 2. Repartição Capitais Cobertura 3. Capitalização example: REPARTICAO_SIMPLES enum: - REPARTICAO_SIMPLES - REPARTICAO_CAPITAIS - CAPITALIZACAO RiskPensionEnumPremiumUpdateIndex: type: string description: Índice utilizado na atualização do prêmio/contribuição e do capital segurado/benefício enum: - IPCA - IGPM - INPC example: IPCA RiskPensionEnumContributionPayment: type: object x-regulatory-required: - contributionPaymentMethod - contributionPaymentMethodAdditionalInfo - contributionPeriodicity - contributionPeriodicityAdditionalInfo description: Pagamento da contribuição. properties: contributionPaymentMethod: type: string example: CARTAO_CREDITO description: | Forma de pagamento da contribuição. - CARTAO_CREDITO - CARTAO_DEBITO - DEBITO_CONTA - DEBITO_CONTA_POUPANCA - BOLETO_BANCARIO - PIX - TED_DOC - CONSIGNACAO_FOLHA_PAGAMENTO - PONTOS_PROGRAMA_BENEFICIO - OUTROS enum: - CARTAO_CREDITO - CARTAO_DEBITO - DEBITO_CONTA - DEBITO_CONTA_POUPANCA - BOLETO_BANCARIO - PIX - TED_DOC - CONSIGNACAO_FOLHA_PAGAMENTO - PONTOS_PROGRAMA_BENEFICIO - OUTROS contributionPaymentMethodAdditionalInfo: type: string pattern: '[\w\W\s]*' example: Informações adicionais minLength: 1 maxLength: 140 description: | Campo livre para preenchimento das informações adicionais referente ao contributionPaymentMethod. [Restrição] Obrigatório quando 'contributionPaymentMethod' for igual 'OUTROS'. contributionPeriodicity: type: string example: MENSAL description: | Periodicidade de pagamento da contribuição. - MENSAL - UNICA - ANUAL - TRIMESTRAL - SEMESTRAL - BIMESTRAL - OUTROS enum: - MENSAL - UNICA - ANUAL - TRIMESTRAL - SEMESTRAL - BIMESTRAL - OUTROS contributionPeriodicityAdditionalInfo: type: string pattern: '[\w\W\s]*' example: Informações adicionais minLength: 1 maxLength: 140 description: | Campo livre para preenchimento das informações adicionais referente ao contributionPaymentMethod. [Restrição] Obrigatório quando 'contributionPeriodicity' for igual 'OUTROS'. additionalProperties: false RiskPensionEnumIndemnityPaymentMethod: type: string description: | Modalidade de pagamento da indenização, a considerar os domínios abaixo: 1. Único 2. Sob a forma de renda enum: - UNICO - SOB_FORMA_RENDA example: UNICO RiskPensionEnumOtherGuaranteedValues: type: string description: | 1. Saldamento 2. Benefício Prolongado enum: - SALDAMENTO - BENEFICIO_PROLONGADO example: SALDAMENTO RiskPensionEnumProfitModality: type: string description: | Modalidade de pagamento da indenização. enum: - PAGAMENTO_UNICO - FORMA_RENDA example: PAGAMENTO_UNICO ResponseErrorMetaSingle: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 13 items: type: object required: - code - title - detail properties: code: description: Código de erro específico do endpoint type: string pattern: '[\w\W\s]*' maxLength: 255 title: description: Título legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 255 detail: description: Descrição legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 2048 meta: $ref: '#/components/schemas/MetaOnlyRequestDateTime' MetaOnlyRequestDateTime: type: object description: Meta informações referente à API requisitada. required: - requestDateTime properties: requestDateTime: description: "Data e hora da consulta, conforme especificação RFC-3339, formato UTC." type: string maxLength: 20 format: date-time example: "2021-05-21T08:30:00Z" OpenDataResponseError: type: object required: - errors properties: errors: type: array minItems: 1 maxItems: 13 items: type: object required: - code - title - detail properties: code: description: Código de erro específico do endpoint type: string pattern: '[\w\W\s]*' maxLength: 255 title: description: Título legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 255 detail: description: Descrição legível por humanos deste erro específico type: string pattern: '[\w\W\s]*' maxLength: 2048 additionalProperties: false meta: $ref: '#/components/schemas/OpenDataMeta' additionalProperties: false OpenDataMeta: type: object description: Meta informações referente à API requisitada. required: - totalRecords - totalPages properties: totalRecords: type: integer format: int32 description: Número total de registros no resultado example: 1 totalPages: type: integer format: int32 description: Número total de páginas no resultado example: 1 additionalProperties: false parameters: page: name: page in: query description: Número da página que está sendo requisitada (o valor da primeira página é 1). schema: type: integer default: 1 minimum: 1 maximum: 2147483647 format: int32 pageSize: name: page-size in: query description: Quantidade total de registros por páginas. schema: type: integer default: 25 minimum: 1 format: int32 maximum: 1000 responses: OKResponseRiskCoveragePension: description: Dados de previdência de risco obtidos com sucesso da instituição. content: application/json: schema: $ref: '#/components/schemas/OKResponseRiskCoveragePension' OKResponseSurvivorCoveragePension: description: Dados de previdência de sobrevivência obtidos com sucesso da instituição. content: application/json: schema: $ref: '#/components/schemas/OKResponseSurvivalCoveragePension' BadRequest: description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/OpenDataResponseError' NotFound: description: O recurso solicitado não existe ou não foi implementado content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/OpenDataResponseError' MethodNotAllowed: description: O consumidor tentou acessar o recurso com um método não suportado content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/OpenDataResponseError' TooManyRequests: description: 'A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite de requisições concorrentes foi atingido.' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/OpenDataResponseError' InternalServerError: description: Ocorreu um erro no gateway da API ou no microsserviço content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/OpenDataResponseError' SiteIsOverloaded: description: 'O site está sobrecarregado e a operação foi recusada, pois foi atingido o limite máximo de TPS global, neste momento.' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorMetaSingle'