SecureAuth (incl. Cloudentity) OPIN API
The OPIN API from SecureAuth (incl. Cloudentity) — 2 operation(s) for opin.
The OPIN API from SecureAuth (incl. Cloudentity) — 2 operation(s) for opin.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/secureauth:secureauth-opin-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: 'SecureAuth''s Brazil Open Banking
and Open Insurance API collections meet
the guidelines for products and services operating within the Open Finance ecosystem in Brazil.'
title: SecureAuth Brazil Open Banking and Open Insurance OPIN API
version: latest
servers:
- url: https://localhost:8443/default/default
tags:
- name: OPIN
paths:
/open-insurance/consents/v1/:
post:
description: This API allows AISP to create consent to access PSU registration data, information about transactions in their accounts, credit card and contracted credit products
operationId: CreateInsuranceDataAccessConsent
parameters:
- description: 'The time when the PSU last logged in with the TPP.
The value is supplied as a HTTP-date as in section 7.1.1.1 of [RFC7231]'
in: header
name: x-fapi-auth-date
schema:
type: string
- description: The PSU's IP address if the PSU is currently logged in with the TPP.
in: header
name: x-fapi-customer-ip-address
schema:
type: string
- description: 'An RFC4122 UID used as a correlation Id.
If provided, the ASPSP must "play back" this value
in the x-fapi-interaction-id response header.'
in: header
name: x-fapi-interaction-id
schema:
type: string
- description: 'The header indicates the user-agent that the PSU is using.
The TPP may populate this field with the user-agent indicated by the PSU.
If the PSU is using a TPP mobile app, the TPP must ensure that the user-agent string
is different from browser based user-agent strings.'
in: header
name: x-customer-user-agent
schema:
type: string
- description: 'Header containing a detached JWS signature of the body of the payload.
Refer to resource specific documentation on when this header must be specified.'
in: header
name: x-jws-signature
schema:
type: string
- description: 'Every request will be processed only once per x-idempotency-key.
The Idempotency Key will be valid for 24 hours'
in: header
name: x-idempotency-key
schema:
type: string
responses:
'201':
$ref: '#/components/responses/BrazilInsuranceCustomerDataAccessConsentResponse'
'400':
$ref: '#/components/responses/OBBRErrorResponse'
'401':
$ref: '#/components/responses/OBBRErrorResponse'
'403':
$ref: '#/components/responses/OBBRErrorResponse'
'405':
$ref: '#/components/responses/OBBRErrorResponse'
'406':
$ref: '#/components/responses/OBBRErrorResponse'
'415':
$ref: '#/components/responses/OBBRErrorResponse'
'422':
$ref: '#/components/responses/OBBRErrorResponse'
'429':
$ref: '#/components/responses/OBBRErrorResponse'
'500':
$ref: '#/components/responses/OBBRErrorResponse'
security:
- defaultcc:
- consents
summary: Create insurance data access consent
tags:
- OPIN
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BrazilInsuranceCustomerDataAccessConsentRequest'
description: Request
/open-insurance/consents/v1/{consentID}:
delete:
description: This API allows PISP to remove previously created consent
operationId: DeleteInsuranceDataAccessConsent
parameters:
- description: 'The time when the PSU last logged in with the TPP.
The value is supplied as a HTTP-date as in section 7.1.1.1 of [RFC7231]'
in: header
name: x-fapi-auth-date
schema:
type: string
- description: The PSU's IP address if the PSU is currently logged in with the TPP.
in: header
name: x-fapi-customer-ip-address
schema:
type: string
- description: 'An RFC4122 UID used as a correlation Id.
If provided, the ASPSP must "play back" this value
in the x-fapi-interaction-id response header.'
in: header
name: x-fapi-interaction-id
schema:
type: string
- description: 'The header indicates the user-agent that the PSU is using.
The TPP may populate this field with the user-agent indicated by the PSU.
If the PSU is using a TPP mobile app, the TPP must ensure that the user-agent string
is different from browser based user-agent strings.'
in: header
name: x-customer-user-agent
schema:
type: string
- description: 'Header containing a detached JWS signature of the body of the payload.
Refer to resource specific documentation on when this header must be specified.'
in: header
name: x-jws-signature
schema:
type: string
- description: Consent id
in: path
name: consentID
required: true
schema:
type: string
format: consentID
responses:
'204':
description: ' consent deleted'
'400':
$ref: '#/components/responses/OBBRErrorResponse'
'401':
$ref: '#/components/responses/OBBRErrorResponse'
'403':
$ref: '#/components/responses/OBBRErrorResponse'
'405':
$ref: '#/components/responses/OBBRErrorResponse'
'406':
$ref: '#/components/responses/OBBRErrorResponse'
'415':
$ref: '#/components/responses/OBBRErrorResponse'
'422':
$ref: '#/components/responses/OBBRErrorResponse'
'429':
$ref: '#/components/responses/OBBRErrorResponse'
'500':
$ref: '#/components/responses/OBBRErrorResponse'
security:
- defaultcc:
- consents
summary: Delete insurance data access consent
tags:
- OPIN
get:
description: This API allows PISP to retrieve previously created consent
operationId: GetInsuranceDataAccessConsent
parameters:
- description: 'The time when the PSU last logged in with the TPP.
The value is supplied as a HTTP-date as in section 7.1.1.1 of [RFC7231]'
in: header
name: x-fapi-auth-date
schema:
type: string
- description: The PSU's IP address if the PSU is currently logged in with the TPP.
in: header
name: x-fapi-customer-ip-address
schema:
type: string
- description: 'An RFC4122 UID used as a correlation Id.
If provided, the ASPSP must "play back" this value
in the x-fapi-interaction-id response header.'
in: header
name: x-fapi-interaction-id
schema:
type: string
- description: 'The header indicates the user-agent that the PSU is using.
The TPP may populate this field with the user-agent indicated by the PSU.
If the PSU is using a TPP mobile app, the TPP must ensure that the user-agent string
is different from browser based user-agent strings.'
in: header
name: x-customer-user-agent
schema:
type: string
- description: 'Header containing a detached JWS signature of the body of the payload.
Refer to resource specific documentation on when this header must be specified.'
in: header
name: x-jws-signature
schema:
type: string
- description: Consent id
in: path
name: consentID
required: true
schema:
type: string
format: consentID
responses:
'200':
$ref: '#/components/responses/BrazilInsuranceCustomerDataAccessConsentResponse'
'400':
$ref: '#/components/responses/OBBRErrorResponse'
'401':
$ref: '#/components/responses/OBBRErrorResponse'
'403':
$ref: '#/components/responses/OBBRErrorResponse'
'405':
$ref: '#/components/responses/OBBRErrorResponse'
'406':
$ref: '#/components/responses/OBBRErrorResponse'
'415':
$ref: '#/components/responses/OBBRErrorResponse'
'422':
$ref: '#/components/responses/OBBRErrorResponse'
'429':
$ref: '#/components/responses/OBBRErrorResponse'
'500':
$ref: '#/components/responses/OBBRErrorResponse'
security:
- defaultcc:
- consents
summary: Get insurance data access consent
tags:
- OPIN
components:
schemas:
BrazilInsuranceCustomerDataAccessConsentRequest:
properties:
data:
$ref: '#/components/schemas/OPINData'
required:
- data
type: object
OPINDocument:
description: OPINDocument Document
properties:
identification:
description: Nmero do documento de identificao oficial do usurio.
example: '11111111111'
maxLength: 11
pattern: ^\d{11}$
type: string
rel:
description: Tipo do documento de identificao oficial do usurio.
example: CPF
maxLength: 3
pattern: ^[A-Z]{3}$
type: string
required:
- identification
- rel
type: object
OPINBusinessEntity:
description: Titular, pessoa jurdica a quem se referem os dados que so objeto de compartilhamento.
properties:
document:
$ref: '#/components/schemas/OPINDocument1'
required:
- document
title: OPINBusinessEntity BusinessEntity
type: object
OPINData:
description: OPINData Data
properties:
businessEntity:
$ref: '#/components/schemas/OPINBusinessEntity'
expirationDateTime:
description: Data e hora de expirao da permisso. De preenchimento obrigatrio, reflete a data limite de validade do consentimento. Uma string com data e hora conforme especificao RFC-3339, sempre com a utilizao de timezone UTC(UTC time format).
example: '2021-05-21T08:30:00Z'
format: date-time
type: string
loggedUser:
$ref: '#/components/schemas/OPINLoggedUser'
permissions:
description: permissions
example:
- PENSION_RISK_READ
- CAPITALIZATION_TITLES_READ
- RESOURCES_READ
items:
$ref: '#/components/schemas/OPINPermission'
minItems: 1
type: array
transactionFromDateTime:
description: Data e hora da transao inicial. Se no for preenchido, a transao ter a data aberta e a data ser retornada com a primeira transao disponvel. Uma string com data e hora conforme especificao RFC-3339, sempre com a utilizao de timezone UTC(UTC time format).
example: '2021-01-01T00:00:00Z'
format: date-time
type: string
transactionToDateTime:
description: Data e hora final da transao. Se no for preenchido, a transao ter a data aberta e a data ser retornada com a ultima transao disponvel. Uma string com data e hora conforme especificao RFC-3339, sempre com a utilizao de timezone UTC(UTC time format).
example: '2021-02-01T23:59:59Z'
format: date-time
type: string
required:
- expirationDateTime
- loggedUser
- permissions
type: object
OpenbankingBrasilPaymentMeta:
description: Meta informaes referente API requisitada.
properties:
requestDateTime:
description: Data e hora da consulta, conforme especificao RFC-3339, formato UTC.
example: '2021-05-21T08:30:00Z'
format: date-time
type: string
totalPages:
description: Nmero total de pginas no resultado
example: 1
format: int32
type: integer
totalRecords:
description: Nmero total de registros no resultado
example: 1
format: int32
type: integer
required:
- requestDateTime
- totalPages
- totalRecords
title: OpenbankingBrasilPaymentMeta Meta
type: object
OPINDocument1:
description: OPINDocument1 Document1
properties:
identification:
description: Nmero do documento de identificao oficial do titular pessoa jurdica.
example: '11111111111111'
maxLength: 14
pattern: ^\d{14}$
type: string
rel:
description: Tipo do documento de identificao oficial do titular pessoa jurdica.
example: CNPJ
maxLength: 4
pattern: ^[A-Z]{4}$
type: string
required:
- identification
- rel
type: object
OPINLinks:
description: Referncias para outros recusos da API requisitada.
properties:
first:
description: URI da primeira pgina que originou essa lista de resultados. Restrio - Obrigatrio quando no for a primeira pgina da resposta
example: https://api.seguro.com.br/open-insurance/consents/v1
maxLength: 2000
pattern: ^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$
type: string
last:
description: URI da ltima pgina dessa lista de resultados. Restrio - Obrigatrio quando no for a ltima pgina da resposta
example: https://api.seguro.com.br/open-insurance/consents/v1
maxLength: 2000
pattern: ^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$
type: string
next:
description: URI da prxima pgina dessa lista de resultados. Restrio - Obrigatrio quando no for a ltima pgina da resposta
example: https://api.seguro.com.br/open-insurance/consents/v1
maxLength: 2000
pattern: ^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$
type: string
prev:
description: "URI da pgina anterior dessa lista de resultados. Restrio - \tObrigatrio quando no for a primeira pgina da resposta"
example: https://api.seguro.com.br/open-insurance/consents/v1
maxLength: 2000
pattern: ^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$
type: string
self:
description: URI completo que gerou a resposta atual.
example: https://api.seguro.com.br/open-insurance/consents/v1
maxLength: 2000
pattern: ^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$
type: string
required:
- self
title: OPINLinks Links
type: object
OPINData1:
description: OPINData1 Data1
properties:
consentId:
description: 'O consentId o identificador nico do consentimento e dever ser um URN - Uniform Resource Name.
Um URN, conforme definido na [RFC8141](https://tools.ietf.org/html/rfc8141) um Uniform Resource
Identifier - URI - que atribudo sob o URI scheme "urn" e um namespace URN especfico, com a inteno de que o URN
seja um identificador de recurso persistente e independente da localizao.
Considerando a string urn:prudential:C1DD93123 como exemplo para consentId temos:
o namespace(urn)
o identificador associado ao namespace da instituio transnmissora (prudential)
o identificador especfico dentro do namespace (C1DD93123).
Informaes mais detalhadas sobre a construo de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141).'
example: urn:prudential:C1DD93123
maxLength: 256
pattern: ^urn:[a-zA-Z0-9][a-zA-Z0-9-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*'%\/?#]+$
type: string
creationDateTime:
description: Data e hora em que o recurso foi criado. Uma string com data e hora conforme especificao RFC-3339, sempre com a utilizao de timezone UTC(UTC time format).
example: '2021-05-21T08:30:00Z'
format: date-time
type: string
expirationDateTime:
description: Data e hora de expirao da permisso. De preenchimento obrigatrio, reflete a data limite de validade do consentimento. Uma string com data e hora conforme especificao RFC-3339, sempre com a utilizao de timezone UTC(UTC time format).
example: '2021-05-21T08:30:00Z'
format: date-time
type: string
permissions:
description: Especifica os tipos de permisses de acesso s APIs no escopo do Open Insurance Brasil - Fase 2, de acordo com os blocos de consentimento fornecidos pelo usurio e necessrios ao acesso a cada endpoint das APIs.
example:
- PENSION_RISK_READ
- CAPITALIZATION_TITLES_READ
- RESOURCES_READ
items:
$ref: '#/components/schemas/OPINPermission1'
minItems: 1
type: array
status:
$ref: '#/components/schemas/OPINStatus'
statusUpdateDateTime:
description: Data e hora em que o recurso foi atualizado. Uma string com data e hora conforme especificao RFC-3339, sempre com a utilizao de timezone UTC(UTC time format).
example: '2021-05-21T08:30:00Z'
format: date-time
type: string
transactionFromDateTime:
description: Data e hora da transao inicial. Se no for preenchido, a transao ter a data aberta e a data ser retornada com a primeira transao disponvel. Uma string com data e hora conforme especificao RFC-3339, sempre com a utilizao de timezone UTC(UTC time format).
example: '2021-01-01T00:00:00Z'
format: date-time
type: string
transactionToDateTime:
description: Data e hora final da transao. Se no for preenchido, a transao ter a data aberta e a data ser retornada com a ultima transao disponvel. Uma string com data e hora conforme especificao RFC-3339, sempre com a utilizao de timezone UTC(UTC time format).
example: '2021-02-01T23:59:59Z'
format: date-time
type: string
required:
- consentId
- creationDateTime
- expirationDateTime
- permissions
- status
- statusUpdateDateTime
type: object
OPINPermission:
description: Especifica os tipos de permisses de acesso s APIs no escopo do Open Insurance Brasil - Fase 2, de acordo com os blocos de consentimento fornecidos pelo usurio e necessrios ao acesso a cada endpoint das APIs.
title: OPINPermission Permission
type: string
OPINLoggedUser:
description: Usurio (pessoa natural) que encontra-se logado na instituio receptora e que iniciar o processo de consentimento para compartilhamento de dados.
properties:
document:
$ref: '#/components/schemas/OPINDocument'
required:
- document
title: OPINLoggedUser LoggedUser
type: object
BrazilInsuranceCustomerDataAccessConsentResponse:
properties:
data:
$ref: '#/components/schemas/OPINData1'
links:
$ref: '#/components/schemas/OPINLinks'
meta:
$ref: '#/components/schemas/OPINMeta'
required:
- data
type: object
OPINMeta:
description: Meta informaes referente API requisitada.
properties:
requestDateTime:
description: Data e hora da consulta, conforme especificao RFC-3339, formato UTC.
example: '2021-05-21T08:30:00Z'
format: date-time
type: string
totalPages:
description: Nmero total de pginas no resultado
example: 1
format: int32
type: integer
totalRecords:
description: Nmero total de registros no resultado
example: 1
format: int32
type: integer
required:
- requestDateTime
- totalPages
- totalRecords
title: OPINMeta Meta
type: object
HTTPError:
properties:
code:
type: string
detail:
type: string
title:
type: string
type: object
OBBRErrorResponse:
properties:
errors:
items:
$ref: '#/components/schemas/HTTPError'
type: array
meta:
$ref: '#/components/schemas/OpenbankingBrasilPaymentMeta'
type: object
OPINPermission1:
description: OPINPermission1 Permission1
type: string
OPINStatus:
description: 'Estado atual do consentimento cadastrado.
Example: AWAITING_AUTHORISATION'
title: OPINStatus Status
type: string
responses:
BrazilInsuranceCustomerDataAccessConsentResponse:
description: Customer data access consent
content:
application/json:
schema:
$ref: '#/components/schemas/BrazilInsuranceCustomerDataAccessConsentResponse'
OBBRErrorResponse:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/OBBRErrorResponse'
securitySchemes:
default:
type: oauth2
flows:
authorizationCode:
scopes:
dcr_register: dcr_register
introspect_openbanking_tokens: introspect_openbanking_tokens
authorizationUrl: /default/default/oauth2/authorize
tokenUrl: /default/default/oauth2/token
defaultcc:
type: oauth2
flows:
authorizationCode:
scopes:
accounts: accounts
consents: consents
payments: payments
authorizationUrl: /default/default/oauth2/authorize
tokenUrl: /default/default/oauth2/token
system:
type: oauth2
flows:
authorizationCode:
scopes:
manage_openbanking_consents: manage_openbanking_consents
authorizationUrl: /default/system/oauth2/authorize
tokenUrl: /default/system/oauth2/token