SecureAuth (incl. Cloudentity) OPIN API

The OPIN API from SecureAuth (incl. Cloudentity) — 2 operation(s) for opin.

Operations 3

POST /open-insurance/consents/v1/ Create insurance data access consent #
DELETE /open-insurance/consents/v1/{consentID} Delete insurance data access consent #
GET /open-insurance/consents/v1/{consentID} Get insurance data access consent #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/secureauth:secureauth-opin-api"
All apis
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.

Get an API 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 Specification

secureauth-opin-api-openapi.yml Raw ↑
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