diff --git a/dictionary/treasureTitlesGetInvestmentsInvestmentIdBalances_v1.csv b/dictionary/treasureTitlesGetInvestmentsInvestmentIdBalances_v1.csv index 3715ac59e..251f8bd8d 100644 --- a/dictionary/treasureTitlesGetInvestmentsInvestmentIdBalances_v1.csv +++ b/dictionary/treasureTitlesGetInvestmentsInvestmentIdBalances_v1.csv @@ -22,7 +22,7 @@ Caso seja um produto com alíquota zero esse objeto pode ser enviado sem valores ";Objeto;;Opcional;;;0;1;"";Não permitido;object;; /data/financialTransactionTax/amount;amount;Valor relacionado ao objeto.;Texto;20;Obrigatório;^\d{1,15}\.\d{2,4}$;;1;1;"";Não permitido;string;1000.04; /data/financialTransactionTax/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;BRL; -/data/blockedBalance;blockedBalance;Valor não disponível para movimentação naquele momento por qualquer motivo (bloqueio judicial, bloqueio em garantia, entre outros).;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; +/data/blockedBalance;blockedBalance;Valor não disponível para movimentação naquele momento por qualquer motivo (bloqueio judicial, bloqueio em garantia, entre outros). Prazo de carência não é considerado como bloqueio.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; /data/blockedBalance/amount;amount;Valor relacionado ao objeto.;Texto;20;Obrigatório;^\d{1,15}\.\d{2,4}$;;1;1;"";Não permitido;string;1000.04; /data/blockedBalance/currency;currency;Moeda referente ao valor monetário, seguindo o modelo ISO-4217.;Texto;3;Obrigatório;^[A-Z]{3}$;;1;1;"";Não permitido;string;BRL; /data/purchaseUnitPrice;purchaseUnitPrice;Valor unitário negociado com o cliente na data de aquisição.;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; diff --git a/dictionary/treasureTitlesGetInvestmentsInvestmentIdTransactionsCurrent_v1.csv b/dictionary/treasureTitlesGetInvestmentsInvestmentIdTransactionsCurrent_v1.csv index 8ebce17da..fa1dfdf95 100644 --- a/dictionary/treasureTitlesGetInvestmentsInvestmentIdTransactionsCurrent_v1.csv +++ b/dictionary/treasureTitlesGetInvestmentsInvestmentIdTransactionsCurrent_v1.csv @@ -54,5 +54,5 @@ Nos casos em que se tratar de movimento de saída e a instituição não tiver a [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/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/treasureTitlesGetInvestmentsInvestmentIdTransactions_v1.csv b/dictionary/treasureTitlesGetInvestmentsInvestmentIdTransactions_v1.csv index 8ebce17da..fa1dfdf95 100644 --- a/dictionary/treasureTitlesGetInvestmentsInvestmentIdTransactions_v1.csv +++ b/dictionary/treasureTitlesGetInvestmentsInvestmentIdTransactions_v1.csv @@ -54,5 +54,5 @@ Nos casos em que se tratar de movimento de saída e a instituição não tiver a [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/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/treasureTitlesGetInvestmentsInvestmentId_v1.csv b/dictionary/treasureTitlesGetInvestmentsInvestmentId_v1.csv index 7f94fc102..5b0822c87 100644 --- a/dictionary/treasureTitlesGetInvestmentsInvestmentId_v1.csv +++ b/dictionary/treasureTitlesGetInvestmentsInvestmentId_v1.csv @@ -27,12 +27,12 @@ OUTROS";1;1;"";Não permitido;string;CDI; [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'indexer' for preenchido com o valor ‘PRE FIXADO’. ";Texto;8;Condicional;^\d{1}\.\d{6}$;;0;1;" Campo de preenchimento obrigatório pelas participantes quando o campo 'indexer' for preenchido com o valor ‘PRE FIXADO’. -";Não permitido;string;0.300000; +";Não permitido;string;0.300000;8 /data/remuneration/postFixedIndexerPercentage;postFixedIndexerPercentage;"Percentual do indexador da aquisição do contrato. [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'indexer' for preenchido de forma diferente de ‘PRE FIXADO’. ";Texto;8;Condicional;^\d{1}\.\d{6}$;;0;1;" Campo de preenchimento obrigatório pelas participantes quando o campo 'indexer' for preenchido de forma diferente de ‘PRE FIXADO’. -";Não permitido;string;1.100000; +";Não permitido;string;1.100000;8 /data/remuneration/ratePeriodicity;ratePeriodicity;Periodicidade da taxa de remuneração (mensal, anual, diário e semestral);Texto;;Obrigatório;;"MENSAL ANUAL DIARIO diff --git a/swagger-apis/treasure-titles/1.0.0.yml b/swagger-apis/treasure-titles/1.0.0.yml new file mode 100644 index 000000000..6df7da87a --- /dev/null +++ b/swagger-apis/treasure-titles/1.0.0.yml @@ -0,0 +1,1510 @@ +openapi: 3.0.0 +info: + title: API Treasure Titles - Open Finance Brasil + description: | + API de informações de operações de Títulos do Tesouro Direto Open Finance Brasil – Fase 4. API que retorna informações de operações de investimento do tipo Títulos do Tesouro Direto mantidas nas instituições transmissoras por seus clientes, incluindo dados como informações do produto, quantidade, 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. Devem ser considerados como escopo de exposição todos os títulos ofertados pelo Tesouro Direto. A exposição se dará por cada operação de títulos do Tesouro Direto 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/treasure-titles/v1' + description: Servidor de Produção + - url: 'https://apih.banco.com.br/open-banking/treasure-titles/v1' + description: Servidor de Homologação +tags: + - name: Product List + description: Obtém a lista de operações de Títulos do Tesouro Direto 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 Títulos do Tesouro Direto identificada por investmentId. + - name: Balances + description: Obtém a posição da operação de Títulos do Tesouro Direto identificada por investmentId. + - name: Transactions + description: Obtém as movimentações da operação (últimos 12 meses) de Títulos do Tesouro Direto identificada por investmentId. + - name: Transactions Current + description: 'Obtém as movimentações recentes da operação de Títulos do Tesouro Direto 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 Títulos do Tesouro Direto mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento. + operationId: treasureTitlesGetInvestments + description: Obtém a lista de operações de Títulos do Tesouro Direto 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/OkResponseTreasureTitlesProductList' + '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' + - treasure-titles + '/investments/{investmentId}': + get: + tags: + - Product Identification + summary: Obtém os dados da operação de Títulos do Tesouro Direto identificada por investmentId. + operationId: treasureTitlesGetInvestmentsInvestmentId + description: Obtém os dados da operação de Títulos do Tesouro Direto 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/ResponseTreasureTitlesIdentifyProduct' + '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' + - treasure-titles + '/investments/{investmentId}/balances': + get: + tags: + - Balances + summary: Obtém a posição da operação de Títulos do Tesouro Direto identificada por investmentId. + operationId: treasureTitlesGetInvestmentsInvestmentIdBalances + description: | + Obtém a posição da operação de Títulos do Tesouro Direto 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: + - 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}$' + example: '92792126019929200000000000000000000000000' + - $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/OkResponseTreasureTitlesBalances' + '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' + - treasure-titles + '/investments/{investmentId}/transactions': + get: + tags: + - Transactions + summary: Obtém as movimentações da operação (últimos 12 meses) de Títulos do Tesouro Direto identificada por investmentId. + operationId: treasureTitlesGetInvestmentsInvestmentIdTransactions + description: Obtém as movimentações da operação (últimos 12 meses) de Títulos do Tesouro Direto 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/ResponseTreasureTitlesProductTransactions' + '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' + - treasure-titles + '/investments/{investmentId}/transactions-current': + get: + tags: + - Transactions Current + summary: 'Obtém as movimentações recentes da operação de Títulos do Tesouro Direto 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: treasureTitlesGetInvestmentsInvestmentIdTransactionsCurrent + description: 'Obtém as movimentações recentes da operação de Títulos do Tesouro Direto 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/fromTransactionDateMaxLimited' + - $ref: '#/components/parameters/toTransactionDateMaxLimited' + responses: + '200': + $ref: '#/components/responses/ResponseTreasureTitlesProductTransactionsCurrent' + '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' + - treasure-titles +components: + schemas: + LockedWithAdditionalProperties: + 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: + 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' + additionalProperties: false + additionalProperties: false + 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: + - 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' + ResponseTreasureTitlesListProduct: + type: object + required: + - data + - links + - meta + properties: + data: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/ResponseTreasureTitlesListProductData' + links: + $ref: '#/components/schemas/TreasureTitlesLinks' + meta: + $ref: '#/components/schemas/TreasureTitlesMeta' + additionalProperties: false + TreasureTitlesMeta: + 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' + additionalProperties: false + TreasureTitlesLinks: + 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@:%_\+.~#?&\/\/=]*)$' + CurrencyCode: + type: string + pattern: '^[A-Z]{3}$' + maxLength: 3 + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' + example: BRL + ResponseTreasureTitlesBalances: + type: object + required: + - data + - links + - meta + properties: + data: + $ref: '#/components/schemas/TreasureTitlesBalances' + links: + $ref: '#/components/schemas/TreasureTitlesLinks' + meta: + $ref: '#/components/schemas/TreasureTitlesMeta' + additionalProperties: false + TreasureTitlesProductTransaction: + type: object + required: + - type + - transactionType + - transactionDate + - transactionUnitPrice + - transactionQuantity + - transactionGrossValue + - transactionNetValue + - transactionId + properties: + type: + $ref: '#/components/schemas/TreasureTitlesType' + transactionType: + $ref: '#/components/schemas/TreasureTitlesTransactionType' + transactionTypeAdditionalInfo: + description: | + Informação adicional do tipo de movimentação, para preenchimento no caso de movimentações não de limitadas no domínio. + + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'transactionType' for preenchido com o valor 'OUTROS'. + maxLength: 100 + pattern: '[\w\W\s]*' + example: '' + type: string + transactionDate: + $ref: '#/components/schemas/TreasureTitlesTransactionDate' + transactionUnitPrice: + $ref: '#/components/schemas/TreasureTitlesTransactionUnitPrice' + transactionQuantity: + $ref: '#/components/schemas/TreasureTitlesTransactionQuantity' + transactionGrossValue: + $ref: '#/components/schemas/TreasureTitlesTransactionGrossValue' + incomeTax: + 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'. + type: object + required: + - amount + - currency + properties: + amount: + $ref: '#/components/schemas/TreasureTitlesIncomeTaxAmount' + currency: + $ref: '#/components/schemas/TreasureTitlesCurrency' + financialTransactionTax: + 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'. + type: object + required: + - amount + - currency + properties: + amount: + $ref: '#/components/schemas/TreasureTitlesFinancialTransactionTaxAmount' + currency: + $ref: '#/components/schemas/TreasureTitlesCurrency' + transactionNetValue: + $ref: '#/components/schemas/TreasureTitlesTransactionNetValue' + remunerationTransactionRate: + $ref: '#/components/schemas/TreasureTitlesRemunerationTransactionRate' + transactionId: + $ref: '#/components/schemas/TreasureTitlesTransactionId' + ResponseTreasureTitlesIdentifyProduct: + type: object + required: + - data + - links + - meta + properties: + data: + $ref: '#/components/schemas/TreasureTitlesIdentifyProduct' + links: + $ref: '#/components/schemas/TreasureTitlesLinks' + meta: + $ref: '#/components/schemas/TreasureTitlesMeta' + additionalProperties: false + ResponseTreasureTitlesListProductData: + type: object + description: Lista de títulos de tesouro direto mantidos pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento + required: + - brandName + - companyCnpj + - investmentId + properties: + brandName: + $ref: '#/components/schemas/TreasureTitlesBrandName' + companyCnpj: + $ref: '#/components/schemas/TreasureTitlesCompanyCnpj' + investmentId: + $ref: '#/components/schemas/TreasureTitlesInvestmentId' + additionalProperties: false + ResponseTreasureTitlesProductList: + $ref: '#/components/schemas/ResponseTreasureTitlesListProduct' + ResponseTreasureTitlesProductTransactions: + type: object + required: + - data + - links + - meta + properties: + data: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/TreasureTitlesProductTransaction' + links: + $ref: '#/components/schemas/TreasureTitlesLinks' + meta: + $ref: '#/components/schemas/TreasureTitlesMetaTransaction' + additionalProperties: false + ResponseTreasureTitlesProductTransactionsCurrent: + type: object + required: + - data + - links + - meta + properties: + data: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/TreasureTitlesProductTransaction' + links: + $ref: '#/components/schemas/TreasureTitlesLinks' + meta: + $ref: '#/components/schemas/TreasureTitlesMetaTransaction' + additionalProperties: false + TreasureTitlesAmount: + description: Valor relacionado ao objeto. + maxLength: 24 + pattern: '^\d{1,15}\.\d{2,8}$' + example: '1000.000004' + type: string + format: double + TreasureTitlesBalances: + type: object + required: + - referenceDateTime + - updatedUnitPrice + - grossAmount + - netAmount + - incomeTax + - blockedBalance + - purchaseUnitPrice + - quantity + properties: + referenceDateTime: + $ref: '#/components/schemas/TreasureTitlesReferenceDateTime' + updatedUnitPrice: + $ref: '#/components/schemas/TreasureTitlesUpdatedUnitPrice' + grossAmount: + $ref: '#/components/schemas/TreasureTitlesGrossAmount' + netAmount: + $ref: '#/components/schemas/TreasureTitlesNetAmount' + incomeTax: + $ref: '#/components/schemas/TreasureTitlesIncomeTax' + financialTransactionTax: + $ref: '#/components/schemas/TreasureTitlesFinancialTransactionTax' + blockedBalance: + $ref: '#/components/schemas/TreasureTitlesBlockedBalance' + purchaseUnitPrice: + $ref: '#/components/schemas/TreasureTitlesPurchaseUnitPrice' + quantity: + $ref: '#/components/schemas/TreasureTitlesQuantity' + TreasureTitlesBlockedBalance: + description: Valor não disponível para movimentação naquele momento por qualquer motivo (bloqueio judicial, bloqueio em garantia, entre outros). Prazo de carência não é considerado como bloqueio. + type: object + required: + - amount + - currency + properties: + amount: + $ref: '#/components/schemas/TreasureTitlesBlockedBalanceAmount' + currency: + $ref: '#/components/schemas/TreasureTitlesCurrency' + TreasureTitlesBlockedBalanceAmount: + description: Valor relacionado ao objeto. + maxLength: 20 + pattern: '^\d{1,15}\.\d{2,4}$' + example: '1000.04' + type: string + format: double + TreasureTitlesBrandName: + 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). + maxLength: 80 + pattern: '[\w\W\s]*' + example: Organização A + type: string + TreasureTitlesCalculation: + description: Base de cálculo (dias úteis ou dias corridos) + example: DIAS_CORRIDOS + enum: + - DIAS_UTEIS + - DIAS_CORRIDOS + type: string + TreasureTitlesCompanyCnpj: + 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' + type: string + TreasureTitlesCurrency: + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' + maxLength: 3 + pattern: '^[A-Z]{3}$' + example: BRL + type: string + TreasureTitlesDueDate: + 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' + type: string + format: date + TreasureTitlesFinancialTransactionTax: + description: | + IOF provisionado. + + Caso seja um produto com alíquota zero esse objeto pode ser enviado sem valores (vazio). + type: object + required: + - amount + - currency + properties: + amount: + $ref: '#/components/schemas/TreasureTitlesFinancialTransactionTaxAmount' + currency: + $ref: '#/components/schemas/TreasureTitlesCurrency' + TreasureTitlesFinancialTransactionTaxAmount: + description: Valor relacionado ao objeto. + maxLength: 20 + pattern: '^\d{1,15}\.\d{2,4}$' + example: '1000.04' + type: string + format: double + TreasureTitlesFinancialTransactionTaxCurrency: + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217' + maxLength: 3 + pattern: '^[A-Z]{3}$' + example: BRL + type: string + TreasureTitlesFinancialTransactionTaxFinancialTransactionTaxAmount: + description: Valor relacionado ao objeto + maxLength: 20 + pattern: '^\d{1,15}\.\d{2,4}$' + example: '1000.04' + type: string + format: double + TreasureTitlesGrossAmount: + description: | + Valor do investimento anterior à dedução de impostos, taxas e + tarifas (se houver), atualizado (a mercado) na data de referência. + type: object + required: + - amount + - currency + properties: + amount: + $ref: '#/components/schemas/TreasureTitlesGrossAmountAmount' + currency: + $ref: '#/components/schemas/TreasureTitlesCurrency' + TreasureTitlesGrossAmountAmount: + description: Valor relacionado ao objeto. + maxLength: 20 + pattern: '^\d{1,15}\.\d{2,4}$' + example: '1000.04' + type: string + format: double + TreasureTitlesIdentifyProduct: + type: object + required: + - isinCode + - productName + - remuneration + - dueDate + - purchaseDate + - voucherPaymentIndicator + properties: + isinCode: + $ref: '#/components/schemas/TreasureTitlesIsinCode' + productName: + $ref: '#/components/schemas/TreasureTitlesProductName' + remuneration: + $ref: '#/components/schemas/TreasureTitlesRemuneration' + dueDate: + $ref: '#/components/schemas/TreasureTitlesDueDate' + purchaseDate: + $ref: '#/components/schemas/TreasureTitlesPurchaseDate' + voucherPaymentIndicator: + $ref: '#/components/schemas/TreasureTitlesVoucherPaymentIndicator' + voucherPaymentPeriodicity: + $ref: '#/components/schemas/TreasureTitlesVoucherPaymentPeriodicity' + voucherPaymentPeriodicityAdditionalInfo: + $ref: '#/components/schemas/TreasureTitlesVoucherPaymentPeriodicityAdditionalInfo' + TreasureTitlesIncomeTax: + description: | + Valor do imposto de renda provisionado considerando a alíquota vigente na data de referência. + type: object + required: + - amount + - currency + properties: + amount: + $ref: '#/components/schemas/TreasureTitlesIncomeTaxAmount' + currency: + $ref: '#/components/schemas/TreasureTitlesCurrency' + TreasureTitlesIncomeTaxAmount: + description: Valor relacionado ao objeto. + maxLength: 20 + pattern: '^\d{1,15}\.\d{2,4}$' + example: '1000.04' + type: string + format: double + TreasureTitlesIncomeTaxCurrency: + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217' + maxLength: 3 + pattern: '^[A-Z]{3}$' + example: BRL + type: string + TreasureTitlesIncomeTaxIncomeTaxAmount: + description: Valor relacionado ao objeto + maxLength: 20 + pattern: '^\d{1,15}\.\d{2,4}$' + example: '1000.04' + type: string + format: double + TreasureTitlesIndexer: + description: 'Índice utilizado como referência para a correção da rentabilidade e/ou rendimentos do ativo (CDI, DI , TR, IPCA, IGP_M, IGP_DI, INPC, BCP, TLC, SELIC, PRE_FIXADO e OUTROS)' + example: CDI + enum: + - CDI + - DI + - TR + - IPCA + - IGP_M + - IGP_DI + - INPC + - BCP + - TLC + - SELIC + - PRE_FIXADO + - OUTROS + type: string + TreasureTitlesIndexerAdditionalInfo: + description: | + Informações adicionais do indexador. + + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'indexer' for preenchido com o valor 'OUTROS'. + maxLength: 50 + pattern: '[\w\W\s]*' + example: Dólar + type: string + TreasureTitlesInvestmentId: + 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' + type: string + TreasureTitlesIsinCode: + description: | + Código ISIN da emissão, Código ISIN do produto, Código da emissora + : código universal que identifica cada valor mobiliário ou instrumento + financeiro, conforme Norma ISO 6166. + maxLength: 12 + pattern: '^[A-Z]{2}([A-Z0-9]){9}\d{1}$' + example: BRCST4CTF001 + type: string + TreasureTitlesMetaTransaction: + 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' + additionalProperties: false + TreasureTitlesNetAmount: + description: 'Valor do investimento posterior a dedução de impostos, taxas e tarifas (se houver), atualizado (a mercado) na data de referência.' + type: object + required: + - amount + - currency + properties: + amount: + $ref: '#/components/schemas/TreasureTitlesNetAmountAmount' + currency: + $ref: '#/components/schemas/TreasureTitlesCurrency' + TreasureTitlesNetAmountAmount: + description: Valor relacionado ao objeto. + maxLength: 20 + pattern: '^\d{1,15}\.\d{2,4}$' + example: '1000.04' + type: string + format: double + TreasureTitlesPostFixedIndexerPercentage: + description: | + Percentual do indexador da aquisição do contrato. + + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'indexer' for preenchido de forma diferente de ‘PRE FIXADO’. + maxLength: 8 + minLength: 8 + pattern: '^\d{1}\.\d{6}$' + example: '1.100000' + type: string + format: double + TreasureTitlesPreFixedRate: + description: | + Valor da taxa da aquisição do contrato. + + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'indexer' for preenchido com o valor ‘PRE FIXADO’. + maxLength: 8 + minLength: 8 + pattern: '^\d{1}\.\d{6}$' + example: '0.300000' + type: string + format: double + TreasureTitlesProductName: + description: Nome do título em questão, conforme listado no site do Tesouro Direto [https://www.tesourodireto.com.br](https://www.tesourodireto.com.br) + maxLength: 70 + pattern: '[\w\W\s]*' + example: Tesouro Selic 2025 + type: string + TreasureTitlesPurchaseDate: + 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' + type: string + format: date + TreasureTitlesPurchaseUnitPrice: + description: Valor unitário negociado com o cliente na data de aquisição. + type: object + required: + - amount + - currency + properties: + amount: + $ref: '#/components/schemas/TreasureTitlesAmount' + currency: + $ref: '#/components/schemas/TreasureTitlesCurrency' + TreasureTitlesQuantity: + description: Quantidade de títulos detidos na data da posição do cliente. + maxLength: 24 + pattern: '^\d{1,15}\.\d{2,8}$ ' + format: double + type: string + example: '1000.015' + TreasureTitlesRatePeriodicity: + description: 'Periodicidade da taxa de remuneração (mensal, anual, diário e semestral)' + example: DIARIO + enum: + - MENSAL + - ANUAL + - DIARIO + - SEMESTRAL + type: string + TreasureTitlesReferenceDateTime: + description: Data da última posição consolidada disponível a que se referem os dados transacionais do cliente disponíveis nos canais eletrônicos. + 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' + type: string + format: date-time + TreasureTitlesRemuneration: + description: Objeto para detalhamento de remuneração do titulo. + type: object + required: + - indexer + - ratePeriodicity + - calculation + properties: + indexer: + $ref: '#/components/schemas/TreasureTitlesIndexer' + indexerAdditionalInfo: + $ref: '#/components/schemas/TreasureTitlesIndexerAdditionalInfo' + preFixedRate: + $ref: '#/components/schemas/TreasureTitlesPreFixedRate' + postFixedIndexerPercentage: + $ref: '#/components/schemas/TreasureTitlesPostFixedIndexerPercentage' + ratePeriodicity: + $ref: '#/components/schemas/TreasureTitlesRatePeriodicity' + calculation: + $ref: '#/components/schemas/TreasureTitlesCalculation' + TreasureTitlesRemunerationTransactionRate: + description: | + Taxa de remuneração da movimentaçã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' + type: string + format: double + TreasureTitlesTransactionDate: + 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' + type: string + format: date + TreasureTitlesTransactionGrossValue: + description: | + Valor bruto da movimentação + + Nos casos em que se tratar de movimento de saída e a instituição não tiver a informação de IR recolhido na fonte, o valor bruto e o valor líquido expostos deverão ser iguais. + type: object + required: + - amount + - currency + properties: + amount: + $ref: '#/components/schemas/TreasureTitlesTransactionGrossValueAmount' + currency: + $ref: '#/components/schemas/TreasureTitlesTransactionGrossValueCurrency' + TreasureTitlesTransactionGrossValueAmount: + description: 'Valor bruto da transação (Preço unitário da movimentação x Quantidade) ' + maxLength: 20 + pattern: '^\d{1,15}\.\d{2,4}$' + example: '1000.04' + type: string + format: double + TreasureTitlesTransactionGrossValueCurrency: + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217' + maxLength: 3 + pattern: '^[A-Z]{3}$' + example: BRL + type: string + TreasureTitlesTransactionId: + 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 + type: string + TreasureTitlesTransactionNetValue: + description: | + Valor líquido da transação + + Nos casos em que se tratar de movimento de saída e a instituição não tiver a informação de IR recolhido na fonte, o valor bruto e o valor líquido expostos deverão ser iguais. + type: object + required: + - amount + - currency + properties: + amount: + $ref: '#/components/schemas/TreasureTitlesTransactionNetValueAmount' + currency: + $ref: '#/components/schemas/TreasureTitlesTransactionNetValueCurrency' + TreasureTitlesTransactionNetValueAmount: + description: Valor relacionado ao objeto + maxLength: 20 + pattern: '^\d{1,15}\.\d{2,4}$' + example: '1000.04' + type: string + format: double + TreasureTitlesTransactionNetValueCurrency: + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217' + maxLength: 3 + pattern: '^[A-Z]{3}$' + example: BRL + type: string + TreasureTitlesTransactionQuantity: + description: Quantidade de títulos envolvidos na movimentação. + maxLength: 24 + pattern: '^\d{1,15}\.\d{2,8}$' + example: '42.25' + type: string + format: double + TreasureTitlesTransactionsLinks: + $ref: '#/components/schemas/TreasureTitlesLinks' + TreasureTitlesTransactionType: + description: 'Compra, venda, cancelamento, vencimento, pagamento de juros, amortização, transferência de titularidade, transferência de custódia e outros.' + example: AMORTIZACAO + enum: + - COMPRA + - VENDA + - CANCELAMENTO + - VENCIMENTO + - PAGAMENTO_JUROS + - AMORTIZACAO + - TRANSFERENCIA_TITULARIDADE + - TRANSFERENCIA_CUSTODIA + - OUTROS + type: string + TreasureTitlesTransactionUnitPrice: + description: Preço unitário bruto negociado na transação. + type: object + required: + - amount + - currency + properties: + amount: + $ref: '#/components/schemas/TreasureTitlesTransactionUnitPriceAmount' + currency: + $ref: '#/components/schemas/TreasureTitlesTransactionUnitPriceCurrency' + TreasureTitlesTransactionUnitPriceAmount: + description: Valor relacionado ao objeto + maxLength: 24 + pattern: '^\d{1,15}\.\d{2,8}$' + example: '1000.04' + type: string + format: double + TreasureTitlesTransactionUnitPriceCurrency: + description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217' + maxLength: 3 + pattern: '^[A-Z]{3}$' + example: BRL + type: string + TreasureTitlesType: + description: | + Tipo de movimentação na visão de investimento (Nos casos de + pagamento de juros e amortização) fica convencionado que será considerado que + o tipo de movimento será saída. + example: ENTRADA + enum: + - ENTRADA + - SAIDA + type: string + TreasureTitlesUpdatedUnitPrice: + description: Valor bruto unitário atualizado (a mercado) na data de referência. + type: object + required: + - amount + - currency + properties: + amount: + $ref: '#/components/schemas/TreasureTitlesAmount' + currency: + $ref: '#/components/schemas/TreasureTitlesCurrency' + TreasureTitlesVoucherPaymentIndicator: + description: Indicativo se há pagamento de cupom (Sim ou não). + example: SIM + enum: + - SIM + - NAO + type: string + TreasureTitlesVoucherPaymentPeriodicity: + description: | + Em caso de haver pagamento de cupom, descrever a periodicidade + (mensal, trimestral, semestral, anual, irregular e outros) + + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'voucherPaymentIndicator' for preenchido com o valor 'SIM'. + example: MENSAL + enum: + - MENSAL + - TRIMESTRAL + - SEMESTRAL + - ANUAL + - IRREGULAR + - OUTROS + type: string + TreasureTitlesVoucherPaymentPeriodicityAdditionalInfo: + description: | + Informações adicionais da periodicidade de pagamento de cupom. + + [Restrição] Campo de preenchimento obrigatório pelas participantes quando o campo 'voucherPaymentPeriodicity' for preenchido com o valor 'OUTROS'. + maxLength: 50 + pattern: '[\w\W\s]*' + example: Diária + type: string + 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: + treasure-titles: Escopo necessário para acesso à API Treasure Titles - Open Finance Brasil. O controle dos endpoints específicos é feito via permissions. + 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 + 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]*' + 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 + 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 + 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](https://tools.ietf.org/html/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 + 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: '2021-05-21' + fromTransactionDateMaxLimited: + 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: '2021-05-21' + 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: '2021-05-21' + toTransactionDateMaxLimited: + 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: '2021-05-21' + responses: + OkResponseTreasureTitlesBalances: + description: Dados obtidos com sucesso + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseTreasureTitlesBalances' + OkResponseTreasureTitlesProductList: + description: Dados obtidos com sucesso + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseTreasureTitlesListProduct' + ResponseTreasureTitlesIdentifyProduct: + description: Dados de fundos de investimentos obtidos com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseTreasureTitlesIdentifyProduct' + ResponseTreasureTitlesProductTransactions: + description: Dados obtidos com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseTreasureTitlesProductTransactions' + ResponseTreasureTitlesProductTransactionsCurrent: + description: Dados obtidos com sucesso. + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseTreasureTitlesProductTransactions' + 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/ResponseError' + 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/ResponseError' + 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/ResponseError' + InternalServerError: + description: Ocorreu um erro no gateway da API ou no microsserviço + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + Locked: + description: Locked + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + 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/ResponseError' + 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/ResponseError' + NotFound: + description: O recurso solicitado não existe ou não foi implementado + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + 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/ResponseError' + Unauthorized: + description: Cabeçalho de autenticação ausente/inválido ou token inválido + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + 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/ResponseError' + Default: + description: Erro inesperado. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + 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/ResponseError' + 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/LockedWithAdditionalProperties' + 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/LockedWithAdditionalProperties' + 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/LockedWithAdditionalProperties' + InternalServerErrorWithAdditionalProperties: + description: Ocorreu um erro no gateway da API ou no microsserviço + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/LockedWithAdditionalProperties' + LockedWithAdditionalProperties: + description: Locked + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/LockedWithAdditionalProperties' + 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/LockedWithAdditionalProperties' + 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/LockedWithAdditionalProperties' + NotFoundWithAdditionalProperties: + description: O recurso solicitado não existe ou não foi implementado + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/LockedWithAdditionalProperties' + 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/LockedWithAdditionalProperties' + UnauthorizedWithAdditionalProperties: + description: Cabeçalho de autenticação ausente/inválido ou token inválido + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/LockedWithAdditionalProperties' + 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/LockedWithAdditionalProperties' + DefaultWithAdditionalProperties: + description: Erro inesperado. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/LockedWithAdditionalProperties' + 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/LockedWithAdditionalProperties' diff --git a/swagger-apis/treasure-titles/index.html b/swagger-apis/treasure-titles/index.html index 36e9ddfed..e5a2fecea 100644 --- a/swagger-apis/treasure-titles/index.html +++ b/swagger-apis/treasure-titles/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:[],