diff --git a/dictionary/creditFixedIncomesGetInvestmentsInvestmentIdBalances_v1.csv b/dictionary/creditFixedIncomesGetInvestmentsInvestmentIdBalances_v1.csv index 7df5eef47..ff9d5f7ed 100644 --- a/dictionary/creditFixedIncomesGetInvestmentsInvestmentIdBalances_v1.csv +++ b/dictionary/creditFixedIncomesGetInvestmentsInvestmentIdBalances_v1.csv @@ -28,11 +28,11 @@ /data/preFixedRate;preFixedRate;"Taxa de remuneração acordada com o cliente na contratação. Em casos de produtos progressivos, considerar taxa vigente. É esperado que o preenchimento deste campo pelas participantes seja enviado de acordo com o campo preFixedRate do endpoint /investment/{investmentId}. -";Texto;8;Opcional;^\d{1}\.\d{6}$;;0;1;"";Não permitido;string;0.300000; +";Texto;8;Opcional;^\d{1}\.\d{6}$;;0;1;"";Não permitido;string;0.300000;8 /data/postFixedIndexerPercentage;postFixedIndexerPercentage;"Percentual do indexador acordado com o cliente na contratação. Em casos de produtos progressivos, considerar taxa vigente. É esperado que o preenchimento deste campo pelas participantes seja enviado de acordo com o campo postFixedIndexerPercentagedo endpoint /investment/{investmentId}. -";Texto;8;Opcional;^\d{1}\.\d{6}$;;0;1;"";Não permitido;string;1.100000; +";Texto;8;Opcional;^\d{1}\.\d{6}$;;0;1;"";Não permitido;string;1.100000;8 /data/fine;fine;"Valor de multa devido ao atraso do pagamento acordado em contrato. Caso a transmissora possua a informação, o envio deste campo é obrigatório. ";Objeto;;Opcional;;;0;1;"";Não permitido;object;; diff --git a/dictionary/creditFixedIncomesGetInvestmentsInvestmentIdTransactionsCurrent_v1.csv b/dictionary/creditFixedIncomesGetInvestmentsInvestmentIdTransactionsCurrent_v1.csv index f4b6301ef..ece95901e 100644 --- a/dictionary/creditFixedIncomesGetInvestmentsInvestmentIdTransactionsCurrent_v1.csv +++ b/dictionary/creditFixedIncomesGetInvestmentsInvestmentIdTransactionsCurrent_v1.csv @@ -59,10 +59,10 @@ OUTROS";1;1;"";Não permitido;string;COMPRA; /data/remunerationTransactionRate;remunerationTransactionRate;"Taxa de remuneração acordada com o cliente na contratação. [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'ENTRADA'. ";Texto;8;Condicional;^\d{1}\.\d{6}$;;0;1;" Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'ENTRADA'. -";Não permitido;string;0.300000; +";Não permitido;string;0.300000;8 /data/indexerPercentage;indexerPercentage;"Percentual máximo do indexador na transação acordado com o cliente na contratação. [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'ENTRADA'. ";Texto;8;Condicional;^\d{1}\.\d{6}$;;0;1;" Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'ENTRADA'. -";Não permitido;string;1.100000; +";Não permitido;string;1.100000;8 /data/transactionId;transactionId;"Código ou identificador único prestado pela instituição para individualizar o movimento. ";Texto;100;Obrigatório;^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$;;1;1;"";Não permitido;string;ABCD2126019929279212650822221989319253344; diff --git a/dictionary/creditFixedIncomesGetInvestmentsInvestmentIdTransactions_v1.csv b/dictionary/creditFixedIncomesGetInvestmentsInvestmentIdTransactions_v1.csv index f0bc14055..f2888de53 100644 --- a/dictionary/creditFixedIncomesGetInvestmentsInvestmentIdTransactions_v1.csv +++ b/dictionary/creditFixedIncomesGetInvestmentsInvestmentIdTransactions_v1.csv @@ -59,10 +59,10 @@ OUTROS";1;1;"";Não permitido;string;COMPRA; /data/remunerationTransactionRate;remunerationTransactionRate;"Taxa de remuneração acordada com o cliente na contratação. [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'ENTRADA'. ";Texto;8;Condicional;^\d{1}\.\d{6}$;;0;1;" Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'ENTRADA'. -";Não permitido;string;0.300000; +";Não permitido;string;0.300000;8 /data/indexerPercentage;indexerPercentage;"Percentual máximo do indexador na transação acordado com o cliente na contratação. [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'ENTRADA'. ";Texto;8;Condicional;^\d{1}\.\d{6}$;;0;1;" Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'ENTRADA'. -";Não permitido;string;1.100000; +";Não permitido;string;1.100000;8 /data/transactionId;transactionId;"Código ou identificador único prestado pela instituição para individualizar o movimento. ";Texto;100;Obrigatório;^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$;;1;1;"";Não permitido;string;ABCD2126019929279212650822221989319253344; diff --git a/swagger-apis/credit-fixed-incomes/1.0.0.yml b/swagger-apis/credit-fixed-incomes/1.0.0.yml new file mode 100644 index 000000000..140bd072b --- /dev/null +++ b/swagger-apis/credit-fixed-incomes/1.0.0.yml @@ -0,0 +1,1722 @@ +openapi: 3.0.0 +info: + title: API Credit Fixed Incomes - Open Finance Brasil + description: | + API de informações de operações de Renda Fixa Crédito do Open Finance Brasil – Fase 4. API que retorna informações de operações de investimento do tipo Renda Fixa Crédito (Debêntures, CRI/CRA) mantidas nas instituições transmissoras por seus clientes, incluindo dados como denominação do produto, rentabilidade, quantidade, prazos, saldos em posição do cliente e movimentações financeiras. + Não possui segregação entre pessoa natural e pessoa jurídica. Requer consentimento do cliente para todos os endpoints. A exposição se dará por cada operação de renda fixa contratada pelo cliente. + version: 1.0.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/credit-fixed-incomes/v1' + description: Servidor de Produção + - url: 'https://apih.banco.com.br/open-banking/credit-fixed-incomes/v1' + description: Servidor de Homologação +tags: + - name: Product List + description: Obtém a lista de operações de Renda Fixa Crédito mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento. + - name: Product Identification + description: Obtém os dados da operação de Renda Fixa Crédito identificada por investmentId. + - name: Balances + description: Obtém a posição da operação de Renda Fixa Crédito identificada por investmentId. + - name: Transactions + description: Obtém as movimentações históricas (últimos 12 meses) da operação de Renda Fixa Crédito identificada por investmentId. + - name: Transactions Current + description: 'Obtém as movimentações recentes da operação de Renda Fixa Crédito identificada por investmentId. O período a ser considerado para apresentação de movimentações será de até 7 dias - 7 dias anteriores da consulta, incluindo o dia da consulta (D-6).' +paths: + /investments: + get: + tags: + - Product List + summary: Obtém a lista de operações de Renda Fixa Crédito mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento. + operationId: creditFixedIncomesGetInvestments + description: Obtém a lista de operações de Renda Fixa Crédito mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento. - + parameters: + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize' + - $ref: '#/components/parameters/pagination-key' + responses: + '200': + $ref: '#/components/responses/ResponseCreditFixedIncomesProductList' + '400': + $ref: '#/components/responses/BadRequestWithAdditionalProperties' + '401': + $ref: '#/components/responses/UnauthorizedWithAdditionalProperties' + '403': + $ref: '#/components/responses/ForbiddenWithAdditionalProperties' + '404': + $ref: '#/components/responses/NotFoundWithAdditionalProperties' + '405': + $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties' + '406': + $ref: '#/components/responses/NotAcceptableWithAdditionalProperties' + '422': + $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties' + '423': + $ref: '#/components/responses/LockedWithAdditionalProperties' + '429': + $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties' + '500': + $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties' + '504': + $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' + '529': + $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties' + default: + $ref: '#/components/responses/DefaultWithAdditionalProperties' + security: + - OAuth2AuthorizationCode: + - openid + - 'consent:consentId' + - credit-fixed-incomes + '/investments/{investmentId}': + get: + tags: + - Product Identification + summary: Obtém os dados da operação de Renda Fixa Crédito identificada por investmentId. + operationId: creditFixedIncomesGetInvestmentsInvestmentId + description: Obtém os dados da operação de Renda Fixa Crédito identificada por investmentId. + parameters: + - $ref: '#/components/parameters/InvestmentId' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + responses: + '200': + $ref: '#/components/responses/ResponseCreditFixedIncomesProductIdentification' + '400': + $ref: '#/components/responses/BadRequestWithAdditionalProperties' + '401': + $ref: '#/components/responses/UnauthorizedWithAdditionalProperties' + '403': + $ref: '#/components/responses/ForbiddenWithAdditionalProperties' + '404': + $ref: '#/components/responses/NotFoundWithAdditionalProperties' + '405': + $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties' + '406': + $ref: '#/components/responses/NotAcceptableWithAdditionalProperties' + '422': + $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties' + '423': + $ref: '#/components/responses/LockedWithAdditionalProperties' + '429': + $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties' + '500': + $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties' + '504': + $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' + '529': + $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties' + default: + $ref: '#/components/responses/DefaultWithAdditionalProperties' + security: + - OAuth2AuthorizationCode: + - openid + - 'consent:consentId' + - credit-fixed-incomes + '/investments/{investmentId}/balances': + get: + tags: + - Balances + summary: Obtém a posição da operação de Renda Fixa Crédito identificada por investmentId. + operationId: creditFixedIncomesGetInvestmentsInvestmentIdBalances + description: | + Obtém a posição da operação de Renda Fixa Crédito identificada por investmentId. + + Nos casos em que não houver posição para o investimento, ou seja, quantidade de ativos e valores monetários zerados, mas o mesmo ainda estiver no prazo de exposição (até 12 meses após a última movimentação), deve se retornar status code 200 e para o payload de retorno considerar os valores abaixo. Campos não obrigatórios não devem ser retornados: + + - Valores monetários: 0.00 + - Quantidade de ativos: 0.00 + - Data e hora da última posição: mesmo conteúdo do campo requestDateTime + parameters: + - $ref: '#/components/parameters/InvestmentId' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + responses: + '200': + $ref: '#/components/responses/ResponseCreditFixedIncomesBalances' + '400': + $ref: '#/components/responses/BadRequestWithAdditionalProperties' + '401': + $ref: '#/components/responses/UnauthorizedWithAdditionalProperties' + '403': + $ref: '#/components/responses/ForbiddenWithAdditionalProperties' + '404': + $ref: '#/components/responses/NotFoundWithAdditionalProperties' + '405': + $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties' + '406': + $ref: '#/components/responses/NotAcceptableWithAdditionalProperties' + '422': + $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties' + '423': + $ref: '#/components/responses/LockedWithAdditionalProperties' + '429': + $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties' + '500': + $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties' + '504': + $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties' + '529': + $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties' + default: + $ref: '#/components/responses/DefaultWithAdditionalProperties' + security: + - OAuth2AuthorizationCode: + - openid + - 'consent:consentId' + - credit-fixed-incomes + '/investments/{investmentId}/transactions': + get: + tags: + - Transactions + summary: Obtém as movimentações históricas (últimos 12 meses) da operação de Renda Fixa Crédito identificada por investmentId. + operationId: creditFixedIncomesGetInvestmentsInvestmentIdTransactions + description: Obtém as movimentações históricas (últimos 12 meses) da operação de Renda Fixa Crédito identificada por investmentId. + parameters: + - $ref: '#/components/parameters/InvestmentId' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize' + - $ref: '#/components/parameters/pagination-key' + - $ref: '#/components/parameters/fromTransactionDate' + - $ref: '#/components/parameters/toTransactionDate' + responses: + '200': + $ref: '#/components/responses/ResponseCreditFixedIncomesTransactions' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '422': + $ref: '#/components/responses/UnprocessableEntity' + '423': + $ref: '#/components/responses/Locked' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '504': + $ref: '#/components/responses/GatewayTimeout' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + $ref: '#/components/responses/Default' + security: + - OAuth2AuthorizationCode: + - openid + - 'consent:consentId' + - credit-fixed-incomes + '/investments/{investmentId}/transactions-current': + get: + tags: + - Transactions Current + summary: 'Obtém as movimentações recentes da operação de Renda Fixa Crédito identificada por investmentId. O período a ser considerado para apresentação de movimentações será de até 7 dias - 7 dias anteriores da consulta, incluindo o dia da consulta (D-6).' + operationId: creditFixedIncomesGetInvestmentsInvestmentIdTransactionsCurrent + description: 'Obtém as movimentações recentes da operação de Renda Fixa Crédito identificada por investmentId. O período a ser considerado para apresentação de movimentações será de até 7 dias - 7 dias anteriores da consulta, incluindo o dia da consulta (D-6).' + parameters: + - $ref: '#/components/parameters/InvestmentId' + - $ref: '#/components/parameters/Authorization' + - $ref: '#/components/parameters/xFapiAuthDate' + - $ref: '#/components/parameters/xFapiCustomerIpAddress' + - $ref: '#/components/parameters/xFapiInteractionId' + - $ref: '#/components/parameters/xCustomerUserAgent' + - $ref: '#/components/parameters/page' + - $ref: '#/components/parameters/pageSize' + - $ref: '#/components/parameters/pagination-key' + - $ref: '#/components/parameters/fromTransactionDateCurrent' + - $ref: '#/components/parameters/toTransactionDateCurrent' + responses: + '200': + $ref: '#/components/responses/ResponseCreditFixedIncomesTransactionsCurrent' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '422': + $ref: '#/components/responses/UnprocessableEntity' + '423': + $ref: '#/components/responses/Locked' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '504': + $ref: '#/components/responses/GatewayTimeout' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + $ref: '#/components/responses/Default' + security: + - OAuth2AuthorizationCode: + - openid + - 'consent:consentId' + - credit-fixed-incomes +components: + schemas: + ResponseCreditFixedIncomesProductList: + type: object + required: + - data + - links + - meta + properties: + data: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/CreditFixedList' + links: + $ref: '#/components/schemas/CreditFixedIncomesLinks' + meta: + $ref: '#/components/schemas/CreditFixedIncomesMeta' + ResponseCreditFixedIncomesProductIdentification: + type: object + required: + - data + - links + - meta + properties: + data: + $ref: '#/components/schemas/CreditFixedIdentification' + links: + $ref: '#/components/schemas/CreditFixedIncomesLinks' + meta: + $ref: '#/components/schemas/CreditFixedIncomesMeta' + ResponseCreditFixedIncomesBalances: + type: object + required: + - data + - links + - meta + properties: + data: + type: object + required: + - referenceDateTime + - updatedUnitPrice + - quantity + - grossAmount + - netAmount + - incomeTax + - financialTransactionTax + - blockedBalance + - purchaseUnitPrice + properties: + referenceDateTime: + $ref: '#/components/schemas/ReferenceDateTime' + updatedUnitPrice: + $ref: '#/components/schemas/UpdatedUnitPrice' + quantity: + type: string + format: double + description: quantidade de títulos detidos na data da posição do cliente + maxLength: 24 + minLength: 4 + pattern: '^\d{1,15}\.\d{2,8}$' + example: '15.00' + grossAmount: + $ref: '#/components/schemas/GrossAmount' + netAmount: + $ref: '#/components/schemas/NetAmount' + incomeTax: + $ref: '#/components/schemas/IncomeTax' + financialTransactionTax: + $ref: '#/components/schemas/FinancialTransactionTax' + blockedBalance: + $ref: '#/components/schemas/BlockedBalance' + purchaseUnitPrice: + $ref: '#/components/schemas/PurchaseUnitPrice' + preFixedRate: + type: string + description: | + Taxa de remuneração acordada com o cliente na contratação. + Em casos de produtos progressivos, considerar taxa vigente. + É esperado que o preenchimento deste campo pelas participantes seja enviado de acordo com o campo preFixedRate do endpoint /investment/{investmentId}. + maxLength: 8 + minLength: 8 + pattern: '^\d{1}\.\d{6}$' + example: '0.300000' + postFixedIndexerPercentage: + $ref: '#/components/schemas/PostFixedIndexerPercentage' + fine: + $ref: '#/components/schemas/Fine' + latePayment: + $ref: '#/components/schemas/LatePayment' + links: + $ref: '#/components/schemas/CreditFixedIncomesLinks' + meta: + $ref: '#/components/schemas/CreditFixedIncomesMeta' + ResponseCreditFixedIncomesTransactions: + type: object + required: + - data + - links + - meta + properties: + data: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/CreditFixedIncomesTransactions' + links: + $ref: '#/components/schemas/CreditFixedIncomesLinks' + meta: + $ref: '#/components/schemas/CreditFixedIncomesMetaTransactions' + ResponseCreditFixedIncomesTransactionsCurrent: + type: object + required: + - data + - links + - meta + properties: + data: + type: array + minItems: 0 + items: + type: object + required: + - type + - transactionType + - transactionDate + - transactionGrossValue + - transactionNetValue + - transactionId + properties: + type: + $ref: '#/components/schemas/Type' + transactionType: + $ref: '#/components/schemas/TransactionType' + transactionTypeAdditionalInfo: + type: string + description: | + Informação adicional do tipo de movimentação, para preenchimento no caso de movimentações não delimitadas no domínio. + [Restrição] Campo de preenchimento obrigatório pelas participantes quando houver 'OUTROS' no campo 'transactionType'. + maxLength: 100 + pattern: '[\w\W\s]*' + transactionDate: + type: string + format: date + description: Data da movimentação + maxLength: 10 + pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' + example: '2018-02-15' + transactionUnitPrice: + type: object + description: | + valor unitário negociado com o cliente na data de aquisição + + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'transactionType' for preenchido com os valores 'COMPRA', 'VENDA' ou 'VENCIMENTO'. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,8}$' + maxLength: 24 + minLength: 4 + example: '1000.000004' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + transactionQuantity: + type: string + description: | + Quantidade de títulos envolvidos na movimentação + + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'transactionType' for preenchido com os valores 'COMPRA', 'VENDA', 'VENCIMENTO', 'TRANSFERENCIA_TITULARIDADE' ou 'TRANSFERENCIA_CUSTODIA'. + maxLength: 24 + pattern: '^\d{1,15}\.\d{2,8}$' + example: '42.25' + transactionGrossValue: + $ref: '#/components/schemas/TransactionGrossValue' + incomeTax: + type: object + description: | + Valor do imposto de renda recolhido na transação. + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'SAIDA'. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.04' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + financialTransactionTax: + type: object + description: | + Valor do IOF recolhido na transação. + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'SAIDA'. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.04' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + transactionNetValue: + $ref: '#/components/schemas/TransactionNetValue' + remunerationTransactionRate: + $ref: '#/components/schemas/RemunerationTransactionRate' + indexerPercentage: + type: string + description: | + Percentual máximo do indexador na transação acordado com o cliente na contratação. + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'ENTRADA'. + maxLength: 8 + minLength: 8 + pattern: '^\d{1}\.\d{6}$' + example: '1.100000' + transactionId: + type: string + description: | + Código ou identificador único prestado pela instituição para individualizar o movimento. + maxLength: 100 + pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$' + example: ABCD2126019929279212650822221989319253344 + links: + $ref: '#/components/schemas/CreditFixedIncomesLinks' + meta: + $ref: '#/components/schemas/CreditFixedIncomesMetaTransactions' + BlockedBalance: + type: object + description: Valor não disponível para movimentação naquele momento por qualquer motivo (bloqueio judicial, bloqueio em garantia, entre outros). + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.04' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + CreditFixedIdentification: + type: object + required: + - investmentType + - remuneration + - issueUnitPrice + - issueDate + - dueDate + - voucherPaymentIndicator + - purchaseDate + - taxExemptProduct + properties: + issuerInstitutionCnpjNumber: + type: string + description: | + CNPJ da instituição emissora. + + Caso a instituição tenha a informação, o envio será obrigatório. + maxLength: 14 + pattern: '^\d{14}$' + example: '11225860000140' + isinCode: + type: string + description: | + Código ISIN é um código universal que identifica cada valor mobiliário ou instrumento financeiro, conforme Norma ISO 6166. Caso a transmissora possua a informação o envio deste campo é obrigatório. + + [Restrição] Deve ser preenchido nos casos em que o 'clearingCode' não seja preenchido. + maxLength: 12 + pattern: '^[A-Z]{2}([A-Z0-9]){9}\d{1}$' + example: BRCST4CTF001 + investmentType: + $ref: '#/components/schemas/EnumInvestimentType' + debtorCnpjNumber: + type: string + description: | + CNPJ do devedor. Caso a transmissora possua a informação para os produtos CRI e CRA, o envio deste campo é obrigatório. + maxLength: 14 + pattern: '^\d{14}$' + example: '11225860000140' + debtorName: + type: string + description: | + Nome do devedor. Caso a transmissora possua a informação para os produtos CRI e CRA, o envio deste campo é obrigatório. + pattern: '[\w\W\s]*' + maxLength: 70 + example: Roberto Marino + taxExemptProduct: + $ref: '#/components/schemas/EnumTaxExemptProduct' + remuneration: + $ref: '#/components/schemas/Remuneration' + issueUnitPrice: + $ref: '#/components/schemas/IssueUnitPrice' + issueDate: + type: string + format: date + description: Data de emissão do título + maxLength: 10 + pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' + example: '2018-02-16' + dueDate: + type: string + format: date + description: Data de vencimento do título + maxLength: 10 + pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' + example: '2018-02-15' + voucherPaymentIndicator: + $ref: '#/components/schemas/VoucherPaymentIndicator' + voucherPaymentPeriodicity: + $ref: '#/components/schemas/VoucherPaymentPeriodicity' + voucherPaymentPeriodicityAdditionalInfo: + type: string + description: | + Informações adicionais da periodicidade de pagamento de cupom + [Restrição] Campo de preenchimento obrigatório pelas participantes quando houver 'Outros' no campo 'voucherPaymentPeriodicity'. + maxLength: 50 + pattern: '[\w\W\s]*' + example: Diária + clearingCode: + type: string + description: | + Código de registro do ativo na Clearing. Caso a transmissora possua a informação o envio deste campo é obrigatório. + + [Restrição] Deve ser preenchido nos casos em que o 'isinCode' não seja preenchido. + maxLength: 30 + pattern: '[\w\W-]*' + example: CDB421GPXXX + purchaseDate: + type: string + format: date + description: Data de aquisição do cliente + maxLength: 10 + pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' + example: '2018-02-15' + gracePeriodDate: + type: string + format: date + description: | + Data até a qual o cliente não poderá resgatar antecipadamente seu investimento. + + Caso a instituição tenha a informação, o envio será obrigatório. + maxLength: 10 + pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' + example: '2018-02-16' + CreditFixedIncomesLinks: + type: object + description: Referências para outros recusos da API requisitada. + required: + - self + properties: + self: + type: string + format: uri + maxLength: 2000 + description: URI completo que gerou a resposta atual. + example: 'https://api.banco.com.br/open-banking/api/v1/resource' + pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + first: + type: string + format: uri + 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/v1/resource' + pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + prev: + type: string + format: uri + 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/v1/resource' + pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + next: + type: string + format: uri + 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/v1/resource' + pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' + CreditFixedIncomesMeta: + type: object + description: Meta informações referente a API requisitada. + required: + - totalRecords + - totalPages + - requestDateTime + 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 + 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' + CreditFixedIncomesMetaTransactions: + type: object + description: Meta informações referente a 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' + CreditFixedList: + type: object + description: Lista de títulos de renda fixa crédito mantidos pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento + required: + - brandName + - companyCnpj + - investmentType + - investmentId + properties: + brandName: + type: string + description: 'Nome da Marca reportada pelo participante no Open Finance. Recomenda-se utilizar, sempre que possível, o mesmo nome de marca atribuído no campo do diretório Customer Friendly Server Name (Authorisation Server).' + pattern: '[\w\W\s]*' + maxLength: 80 + example: Organização A + companyCnpj: + type: string + description: 'Número completo do CNPJ da instituição responsável pelo Cadastro - 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' + maxLength: 14 + pattern: '^\d{14}$' + example: '21128159000166' + investmentType: + $ref: '#/components/schemas/EnumInvestimentType' + investmentId: + type: string + description: 'Identifica de forma única o relacionamento do cliente com o produto, mantendo as regras de imutabilidade dentro da instituição transmissora.' + maxLength: 100 + pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$' + example: '92792126019929200000000000000000000000000' + Currency: + type: string + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' + maxLength: 3 + pattern: '^[A-Z]{3}$' + example: BRL + EnumCalculation: + type: string + description: | + Base de cálculo (dias úteis ou dias corridos). + 1. dias úteis + 2. dias corridos. + + Caso a instituição tenha a informação, o envio será obrigatório. + enum: + - DIAS_UTEIS + - DIAS_CORRIDOS + example: DIAS_CORRIDOS + EnumTaxExemptProduct: + type: string + description: Indicador de um produto incentivado + enum: + - SIM + - NAO + example: SIM + EnumIndexer: + type: string + description: | + Índice utilizado como referência para a correção da rentabilidade e/ou rendimentos do ativo + 1. CDI + 2. DI + 3. TR + 4. IPCA + 5. IGP_M + 6. IGP_DI + 7. INPC + 8. BCP + 10. TLC + 11. SELIC + 12. PRE_FIXADO + 13. OUTROS + enum: + - CDI + - DI + - TR + - IPCA + - IGP_M + - IGP_DI + - INPC + - BCP + - TLC + - SELIC + - PRE_FIXADO + - OUTROS + example: CDI + EnumInvestimentType: + type: string + description: 'Especificação do ativo em questão (Debêntures, CRI ou CRA).' + enum: + - DEBENTURES + - CRI + - CRA + example: CRI + EnumRatePeriodicity: + type: string + description: | + Periodicidade da taxa de remuneração (mensal, anual, diário, semestral). + + Caso a instituição tenha a informação, o envio será obrigatório. + enum: + - MENSAL + - ANUAL + - DIARIO + - SEMESTRAL + example: MENSAL + EnumRateType: + type: string + description: | + Tipo da taxa de remuneração + 1. LINEAR + 2. EXPONENCIAL + + Caso a instituição tenha a informação, o envio será obrigatório. + enum: + - LINEAR + - EXPONENCIAL + example: LINEAR + FinancialTransactionTax: + type: object + description: | + Valor do imposto (IOF) provisionado considerando a alíquota vigente na data de referência. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.04' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + Fine: + type: object + description: | + Valor de multa devido ao atraso do pagamento acordado em contrato. + Caso a transmissora possua a informação, o envio deste campo é obrigatório. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.04' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + GrossAmount: + type: object + description: valor do investimento que se refere a quantidade x PU atualizado na data de referência + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.04' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + IncomeTax: + type: object + description: | + Valor do imposto de renda provisionado considerando a alíquota vigente na data de referência. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.04' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + IndexerPercentage: + type: string + description: | + Percentual máximo do indexador na transação acordado com o cliente na contratação. + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'ENTRADA'. + maxLength: 8 + minLength: 8 + pattern: '^\d{1}\.\d{6}$' + example: '1.100000' + IssueUnitPrice: + type: object + required: + - amount + - currency + properties: + amount: + type: string + description: Valor relacionado ao objeto. + maxLength: 24 + pattern: '^\d{1,15}\.\d{2,8}$' + example: '1000.000004' + currency: + type: string + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' + maxLength: 3 + pattern: '^[A-Z]{3}$' + example: BRL + LatePayment: + type: object + description: | + Valor de mora devido ao atraso do pagamento acordado em contrato. + Caso a transmissora possua a informação, o envio deste campo é obrigatório. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.04' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + NetAmount: + type: object + description: 'valor do investimento atualizado na data de referência, posterior a dedução de impostos (IOF e IR)' + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.04' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + PostFixedIndexerPercentage: + type: string + description: | + Percentual do indexador acordado com o cliente na contratação. + Em casos de produtos progressivos, considerar taxa vigente. + É esperado que o preenchimento deste campo pelas participantes seja enviado de acordo com o campo postFixedIndexerPercentagedo endpoint /investment/{investmentId}. + maxLength: 8 + minLength: 8 + pattern: '^\d{1}\.\d{6}$' + example: '1.100000' + PurchaseUnitPrice: + type: object + description: valor unitário negociado com o cliente na data de aquisição + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,8}$' + maxLength: 24 + minLength: 4 + example: '1000.000004' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + ReferenceDateTime: + type: string + format: date-time + description: 'data e hora da última posição consolidada disponível a que se referem os dados transacionais do cliente disponíveis nos canais eletrônicos; Na representação data deve se considerar os minutos e segundos como zero (00:00:00Z)' + maxLength: 20 + pattern: '(^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$)' + example: '2022-07-21T17:32:00Z' + Remuneration: + type: object + required: + - indexer + properties: + preFixedRate: + type: string + description: | + Valor da taxa de emissão do contrato. + [Restrição] Campo de preenchimento obrigatório pelas participantes quando houver 'PRE_FIXADO' no campo 'indexer' ou quando se tratar de produto com remuneração híbrida. + maxLength: 8 + pattern: '^\d{1}\.\d{6}$' + example: '0.300000' + postFixedIndexerPercentage: + type: string + description: | + Percentual do indexador de emissão do contrato. + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'indexer' for preenchido de forma diferente de 'PRE_FIXADO' ou quando se tratar de produto com remuneração híbrida. + maxLength: 8 + pattern: '^\d{1}\.\d{6}$' + example: '1.100000' + rateType: + $ref: '#/components/schemas/EnumRateType' + ratePeriodicity: + $ref: '#/components/schemas/EnumRatePeriodicity' + calculation: + $ref: '#/components/schemas/EnumCalculation' + indexer: + $ref: '#/components/schemas/EnumIndexer' + indexerAdditionalInfo: + type: string + description: | + Informações adicionais do indexador + [Restrição] Campo de preenchimento obrigatório pelas participantes quando houver 'Outros' no campo 'indexer'. + pattern: '[\w\W\s]*' + maxLength: 50 + example: Dólar + CreditFixedIncomesTransactions: + type: object + required: + - type + - transactionType + - transactionDate + - transactionGrossValue + - transactionNetValue + - transactionId + properties: + type: + $ref: '#/components/schemas/Type' + transactionType: + $ref: '#/components/schemas/TransactionType' + transactionTypeAdditionalInfo: + $ref: '#/components/schemas/TypeAdditionalInfo' + transactionDate: + $ref: '#/components/schemas/TransactionDate' + transactionUnitPrice: + type: object + description: | + valor unitário negociado com o cliente na data de aquisição + + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'transactionType' for preenchido com os valores 'COMPRA', 'VENDA' ou 'VENCIMENTO'. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,8}$' + maxLength: 24 + minLength: 4 + example: '1000.000004' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + transactionQuantity: + $ref: '#/components/schemas/TransactionQuantity' + transactionGrossValue: + $ref: '#/components/schemas/TransactionGrossValue' + incomeTax: + type: object + description: | + Valor do imposto de renda recolhido na transação. + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'SAIDA'. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.04' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + financialTransactionTax: + type: object + description: | + Valor do IOF recolhido na transação. + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'SAIDA'. + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.04' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + transactionNetValue: + $ref: '#/components/schemas/TransactionNetValue' + remunerationTransactionRate: + $ref: '#/components/schemas/RemunerationTransactionRate' + indexerPercentage: + $ref: '#/components/schemas/IndexerPercentage' + transactionId: + $ref: '#/components/schemas/TransactionId' + RemunerationTransactionRate: + type: string + description: | + Taxa de remuneração acordada com o cliente na contratação. + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'type' for preenchido com o valor 'ENTRADA'. + maxLength: 8 + minLength: 8 + pattern: '^\d{1}\.\d{6}$' + example: '0.300000' + TransactionDate: + type: string + format: date + description: Data da movimentação + maxLength: 10 + pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$' + example: '2018-02-15' + TransactionGrossValue: + type: object + description: 'Valor bruto da transação (Preço unitário da movimentação x Quantidade)' + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.04' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + TransactionId: + type: string + description: | + Código ou identificador único prestado pela instituição para individualizar o movimento. + maxLength: 100 + pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$' + example: ABCD2126019929279212650822221989319253344 + TransactionNetValue: + type: object + description: Valor líquido da transação + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,4}$' + maxLength: 20 + minLength: 4 + example: '1000.04' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + TransactionQuantity: + type: string + description: | + Quantidade de títulos envolvidos na movimentação + + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'transactionType' for preenchido com os valores 'COMPRA', 'VENDA', 'VENCIMENTO', 'TRANSFERENCIA_TITULARIDADE' ou 'TRANSFERENCIA_CUSTODIA'. + maxLength: 24 + pattern: '^\d{1,15}\.\d{2,8}$' + example: '42.25' + TransactionType: + type: string + description: Compra, venda, cancelamento, vencimento, pagamento de juros, amortização, prêmio, transferência de titularidade, transferência de custódia, multa, mora e outros. Para movimentos de transferência (titularidade ou custódia) deve ser considerado o preço unitário (transactionUnitPrice) da aquisição do título. + enum: + - COMPRA + - VENDA + - CANCELAMENTO + - VENCIMENTO + - PAGAMENTO_JUROS + - AMORTIZACAO + - PREMIO + - TRANSFERENCIA_TITULARIDADE + - TRANSFERENCIA_CUSTODIA + - MULTA + - MORA + - OUTROS + example: COMPRA + Type: + type: string + description: | + Tipo de movimentação na visão de investimento​: + + ENTRADA: COMPRA, CANCELAMENTO, TRANSFERENCIA_TITULARIDADE, TRANSFERENCIA_CUSTODIA, OUTROS​. + + SAIDA: VENDA, CANCELAMENTO, VENCIMENTO, PAGAMENTO_JUROS, AMORTIZACAO, PREMIO, TRANSFERENCIA_TITULARIDADE, TRANSFERENCIA_CUSTODIA, MULTA, MORA, OUTROS. ​ + + Por exemplo, para movimentação de CANCELAMENTO, tipicamente, será o type contrário ao evento originário. Ou seja, para cancelamento de COMPRA, considera-se type SAIDA; para cancelamento de VENDA, considera-se type ENTRADA. + enum: + - ENTRADA + - SAIDA + example: ENTRADA + TypeAdditionalInfo: + type: string + description: | + Informação adicional do tipo de movimentação, para preenchimento no caso de movimentações não delimitadas no domínio + [Restrição] Campo de preenchimento obrigatório pelas participantes quando houver 'OUTROS' no campo 'transactionType'. + maxLength: 100 + pattern: '[\w\W\s]*' + UpdatedUnitPrice: + type: object + description: valor bruto unitário atualizado na data de referência; + required: + - amount + - currency + properties: + amount: + type: string + format: double + pattern: '^\d{1,15}\.\d{2,8}$' + maxLength: 24 + minLength: 4 + example: '1000.0400' + description: Valor relacionado ao objeto. + currency: + $ref: '#/components/schemas/Currency' + VoucherPaymentIndicator: + type: string + description: | + Indicativo se há pagamento de cupom + 1. Sim + 2. Nao + enum: + - SIM + - NAO + example: SIM + VoucherPaymentPeriodicity: + type: string + description: | + Em caso de haver pagamento de cupom, descrever a periodicidade (mensal, trimestral, semestral, anual, irregular e outros) + 1. Mensal + + 2. Trimestral + + 3. Semestral + + 4. Anual + + 5. Irregular + + 6. Outros + + [Restrição] Campo de preenchimento obrigatório pelos participantes quando houver 'SIM' no campo indicativo de pagamento de cupom 'voucherPaymentIndicator'. + enum: + - MENSAL + - TRIMESTRAL + - SEMESTRAL + - ANUAL + - IRREGULAR + - OUTROS + example: MENSAL + 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: + 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' + ResponseError: + 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: + type: object + description: Meta informações referente à API requisitada. + required: + - totalRecords + - totalPages + - requestDateTime + 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 + 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' + parameters: + InvestmentId: + name: investmentId + in: path + description: 'Identifica de forma única o relacionamento do cliente com o produto, mantendo as regras de imutabilidade dentro da instituição transmissora.' + required: true + schema: + type: string + pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' + maxLength: 100 + example: '92792126019929200000000000000000000000000' + Authorization: + name: Authorization + in: header + description: Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado + required: true + schema: + type: string + pattern: '[\w\W\s]*' + maxLength: 2048 + xFapiAuthDate: + name: x-fapi-auth-date + in: header + description: 'Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a RFC7231. Exemplo: Sun, 10 Sep 2017 19:43:31 UTC.' + required: false + schema: + type: string + pattern: '^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$' + minLength: 29 + maxLength: 29 + xFapiCustomerIpAddress: + name: x-fapi-customer-ip-address + in: header + description: O endereço IP do usuário se estiver atualmente logado com o receptor. + required: false + schema: + type: string + pattern: '[\w\W\s]*' + minLength: 1 + maxLength: 100 + xFapiInteractionId: + name: x-fapi-interaction-id + in: header + description: Um UUID RFC4122 usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela receptora (client) e o seu valor deve ser "espelhado" pela transmissora (server) no cabeçalho de resposta. + required: true + schema: + type: string + pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' + minLength: 1 + maxLength: 100 + xCustomerUserAgent: + name: x-customer-user-agent + in: header + description: Indica o user-agent que o usuário utiliza. + required: false + schema: + type: string + pattern: '[\w\W\s]*' + minLength: 1 + maxLength: 100 + 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. A transmissora deve considerar entrada como 25, caso seja informado algum valor menor pela receptora. + Enquanto houver mais que 25 registros a enviar, a transmissora deve considerar o mínimo por página como 25. Somente a última página retornada (ou primeira, no caso de página única) pode conter menos de 25 registros. + Mais informações, acesse Especificações de APIs > Padrões > Paginação. + schema: + type: integer + default: 25 + minimum: 25 + format: int32 + maximum: 1000 + pagination-key: + name: pagination-key + in: query + description: 'Identificador de rechamada, utilizado para evitar a contagem de chamadas ao endpoint durante a paginação.' + schema: + type: string + maxLength: 2048 + pattern: '[\w\W\s]*' + fromTransactionDate: + name: fromTransactionDate + description: | + Data inicial de filtragem. + [Restrição] Deve obrigatoriamente ser enviado caso o campo toTransactionDate seja informado. Caso não seja informado, deve ser assumido o dia atual. + required: false + in: query + schema: + type: string + maxLength: 10 + format: date + example: '2022-01-01' + toTransactionDate: + name: toTransactionDate + description: | + Data final de filtragem. + [Restrição] Deve obrigatoriamente ser enviado caso o campo fromTransactionDate seja informado. Caso não seja informado, deve ser assumido o dia atual. + required: false + in: query + schema: + type: string + maxLength: 10 + format: date + example: '2022-12-31' + fromTransactionDateCurrent: + name: fromTransactionDate + description: | + Data inicial de filtragem. O período máximo utilizado no filtro é de 7 dias inclusive (D-6). + [Restrição] Deve obrigatoriamente ser enviado caso o campo toTransactionDate seja informado. Caso não seja informado, deve ser assumido o dia atual. + required: false + in: query + schema: + type: string + maxLength: 10 + format: date + example: '2023-02-01' + toTransactionDateCurrent: + name: toTransactionDate + description: | + Data final de filtragem. O período máximo utilizado no filtro é de 7 dias inclusive (D-6). + [Restrição] Deve obrigatoriamente ser enviado caso o campo fromTransactionDate seja informado. Caso não seja informado, deve ser assumido o dia atual. + required: false + in: query + schema: + type: string + maxLength: 10 + format: date + example: '2023-02-01' + securitySchemes: + OAuth2AuthorizationCode: + type: oauth2 + description: Fluxo OAuth necessário para que a receptora tenha acesso aos dados na instituição transmissora. Requer o processo de redirecionamento e autenticação do usuário a que se referem os dados. + flows: + authorizationCode: + authorizationUrl: 'https://authserver.example/authorization' + tokenUrl: 'https://authserver.example/token' + scopes: + credit-fixed-incomes: Escopo necessário para acesso à API Credit-Fixed-Incomes. O controle dos endpoints específicos é feito via permissions. + responses: + ResponseCreditFixedIncomesProductList: + description: Dados obtidos com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseCreditFixedIncomesProductList' + ResponseCreditFixedIncomesProductIdentification: + description: Dados obtidos com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseCreditFixedIncomesProductIdentification' + ResponseCreditFixedIncomesBalances: + description: Dados obtidos com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseCreditFixedIncomesBalances' + ResponseCreditFixedIncomesTransactions: + description: Dados obtidos com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseCreditFixedIncomesTransactions' + ResponseCreditFixedIncomesTransactionsCurrent: + description: Dados obtidos com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseCreditFixedIncomesTransactionsCurrent' + 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/ResponseErrorMetaSingle' + Forbidden: + description: O token tem escopo incorreto ou uma política de segurança foi violada + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + GatewayTimeout: + description: GATEWAY TIMEOUT - A requisição não foi atendida dentro do tempo limite estabelecido + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + InternalServerError: + description: Ocorreu um erro no gateway da API ou no microsserviço + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + Locked: + description: Locked + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + 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/ResponseErrorMetaSingle' + NotAcceptable: + description: A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + NotFound: + description: O recurso solicitado não existe ou não foi implementado + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + TooManyRequests: + description: 'A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + Unauthorized: + description: Cabeçalho de autenticação ausente/inválido ou token inválido + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + UnprocessableEntity: + description: 'A sintaxe da requisição esta correta, mas não foi possível processar as instruções presentes.' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + 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' + Default: + description: Erro inesperado. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + BadRequestWithAdditionalProperties: + 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/ResponseError' + ForbiddenWithAdditionalProperties: + description: O token tem escopo incorreto ou uma política de segurança foi violada + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + GatewayTimeoutWithAdditionalProperties: + description: GATEWAY TIMEOUT - A requisição não foi atendida dentro do tempo limite estabelecido + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + InternalServerErrorWithAdditionalProperties: + description: Ocorreu um erro no gateway da API ou no microsserviço + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + LockedWithAdditionalProperties: + description: Locked + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + MethodNotAllowedWithAdditionalProperties: + description: O consumidor tentou acessar o recurso com um método não suportado + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + NotAcceptableWithAdditionalProperties: + description: A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8 + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + NotFoundWithAdditionalProperties: + description: O recurso solicitado não existe ou não foi implementado + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + TooManyRequestsWithAdditionalProperties: + description: 'A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + UnauthorizedWithAdditionalProperties: + description: Cabeçalho de autenticação ausente/inválido ou token inválido + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + UnprocessableEntityWithAdditionalProperties: + description: 'A sintaxe da requisição esta correta, mas não foi possível processar as instruções presentes.' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + DefaultWithAdditionalProperties: + description: Erro inesperado. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + SiteIsOverloadedWithAdditionalProperties: + 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/ResponseError' \ No newline at end of file diff --git a/swagger-apis/credit-fixed-incomes/index.html b/swagger-apis/credit-fixed-incomes/index.html index 36e9ddfed..f9b97cb8e 100644 --- a/swagger-apis/credit-fixed-incomes/index.html +++ b/swagger-apis/credit-fixed-incomes/index.html @@ -47,8 +47,9 @@ const ui = SwaggerUIBundle({ urls: [ {"name": "1.0.0-rc1.0", "url": "./1.0.0-rc1.0.yml"}, {"name": "1.0.0-rc2.0", "url": "./1.0.0-rc2.0.yml"}, - {"name": "1.0.0-rc3.0", "url": "./1.0.0-rc3.0.yml"}], - "urls.primaryName": "1.0.0-rc3.0", // default spec + {"name": "1.0.0-rc3.0", "url": "./1.0.0-rc3.0.yml"}, + {"name": "1.0.0", "url": "./1.0.0.yml"}], + "urls.primaryName": "1.0.0", // default spec dom_id: '#swagger-ui', deepLinking: true, supportedSubmitMethods:[],