openapi: 3.0.0
info:
  title: Recepção - Participantes
  description: Documentação referente aos endpoints de consulta de participantes no TPP
  version: 1.0.0
servers:
  - url: https://{domain}
    description: Preencha seu domínio tpp
    variables:
      domain:
        default: tpp.exemplo.com
tags:
  - name: Participantes
components:
  schemas: {}
  parameters: {}
paths:
  /data/organisation:
    get:
      description: Retorna todas as organizações disponíveis no diretório de participantes
      tags:
        - Participantes
      parameters:
        - schema:
            type: string
            description: Token FCamara no formato Bearer <token>
          required: true
          description: Token FCamara no formato Bearer <token>
          name: authorization
          in: header
      responses:
        '200':
          description: Organizações retornadas com sucesso
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    OrganisationId:
                      type: string
                    Status:
                      type: string
                    OrganisationName:
                      type: string
                    CreatedOn:
                      type: string
                    LegalEntityName:
                      type: string
                    CountryOfRegistration:
                      type: string
                    CompanyRegister:
                      type: string
                    Tags:
                      nullable: true
                    Flags:
                      type: object
                      additionalProperties:
                        type: array
                        items:
                          type: string
                    Size:
                      type: string
                    TaxRegistrationNumber:
                      type: string
                    RegistrationNumber:
                      type: string
                    RegistrationId:
                      type: string
                    RegisteredName:
                      type: string
                    AddressLine1:
                      type: string
                    AddressLine2:
                      type: string
                    City:
                      type: string
                    Postcode:
                      type: string
                    Country:
                      type: string
                    ParentOrganisationReference:
                      type: string
                    OrgDomainClaims:
                      type: array
                      items:
                        type: object
                        properties:
                          AuthorisationDomainID:
                            type: string
                          AuthorisationDomainName:
                            type: string
                          RegistrationId:
                            type: string
                          Status:
                            type: string
                          AuthorityName:
                            type: string
                        required:
                          - AuthorisationDomainID
                          - AuthorisationDomainName
                          - RegistrationId
                          - Status
                          - AuthorityName
                    OrgDomainRoleClaims:
                      type: array
                      items:
                        type: object
                        properties:
                          AuthorisationDomainID:
                            type: string
                          AuthorisationDomain:
                            type: string
                          AuthorisationDomainRoleIdentifier:
                            type: string
                          Role:
                            type: string
                          RegistrationId:
                            type: string
                          UniqueTechnicalIdentifiers:
                            nullable: true
                          Status:
                            type: string
                          Authorisations:
                            type: array
                            items:
                              nullable: true
                          RoleType:
                            type: string
                          Exclusive:
                            type: boolean
                          Metadata:
                            type: array
                            items:
                              nullable: true
                        required:
                          - AuthorisationDomainID
                          - AuthorisationDomain
                          - AuthorisationDomainRoleIdentifier
                          - Role
                          - RegistrationId
                          - Status
                          - Authorisations
                          - RoleType
                          - Exclusive
                          - Metadata
                    AuthorisationServers:
                      type: array
                      items:
                        type: string
                  required:
                    - OrganisationId
                    - Status
                    - OrganisationName
                    - CreatedOn
                    - LegalEntityName
                    - CountryOfRegistration
                    - CompanyRegister
                    - Flags
                    - Size
                    - TaxRegistrationNumber
                    - RegistrationNumber
                    - RegistrationId
                    - RegisteredName
                    - AddressLine1
                    - AddressLine2
                    - City
                    - Postcode
                    - Country
                    - ParentOrganisationReference
                    - OrgDomainClaims
                    - OrgDomainRoleClaims
                    - AuthorisationServers
  /data/authorisation-server:
    get:
      description: Retorna todos os servidores de autorização disponíveis no diretório
      tags:
        - Participantes
      parameters:
        - schema:
            type: string
            description: Token FCamara no formato Bearer <token>
          required: true
          description: Token FCamara no formato Bearer <token>
          name: authorization
          in: header
      responses:
        '200':
          description: Servidores de autorização retornados com sucesso
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    AutoRegistrationSupported:
                      type: boolean
                    AutoRegistrationNotificationWebhook:
                      type: string
                    AuthorisationServerId:
                      type: string
                    OrganisationId:
                      type: string
                    CustomerFriendlyName:
                      type: string
                    CustomerFriendlyDescription:
                      type: string
                    CustomerFriendlyLogoUri:
                      type: string
                    DeveloperPortalUri:
                      type: string
                    TermsOfServiceUri:
                      type: string
                    NotificationWebhook:
                      type: string
                    Issuer:
                      type: string
                    OpenIDDiscoveryDocument:
                      type: string
                    PayloadSigningCertLocationUri:
                      type: string
                    ParentAuthorisationServerId:
                      type: string
                    DeprecatedDate:
                      type: string
                    RetirementDate:
                      type: string
                    SupersededByAuthorisationServerId:
                      type: string
                    OmitFromEcosystem:
                      nullable: true
                    NotificationWebhookAddedDate:
                      type: string
                    NotificationWebhookStatus:
                      type: string
                    SupportsCiba:
                      type: boolean
                    SupportsDCR:
                      type: boolean
                    SupportsRedirect:
                      type: boolean
                    CreatedAt:
                      type: string
                    Status:
                      type: string
                    ApiResources:
                      type: array
                      items:
                        type: object
                        properties:
                          ApiResourceId:
                            type: string
                          ApiVersion:
                            type: string
                          ApiFamilyID:
                            type: string
                          FamilyComplete:
                            type: boolean
                          ApiCertificationUri:
                            type: string
                          CertificationStatus:
                            type: string
                          CertificationStartDate:
                            type: string
                          CertificationExpirationDate:
                            type: string
                          ApiFamilyType:
                            type: string
                          Status:
                            type: string
                          ApiDiscoveryEndpoints:
                            type: array
                            items:
                              type: object
                              properties:
                                ApiDiscoveryId:
                                  type: string
                                ApiEndpoint:
                                  type: string
                              required:
                                - ApiDiscoveryId
                                - ApiEndpoint
                        required:
                          - ApiResourceId
                          - ApiVersion
                          - FamilyComplete
                          - ApiCertificationUri
                          - CertificationStatus
                          - CertificationStartDate
                          - CertificationExpirationDate
                          - ApiFamilyType
                          - Status
                          - ApiDiscoveryEndpoints
                    AuthorisationServerCertifications:
                      type: array
                      items:
                        type: object
                        properties:
                          CertificationStartDate:
                            type: string
                          CertificationExpirationDate:
                            type: string
                          CertificationId:
                            type: string
                          AuthorisationServerId:
                            type: string
                          CertificationStatus:
                            type: string
                          ProfileVariant:
                            type: string
                          ProfileType:
                            type: string
                          ProfileVersion:
                            type: number
                          CertificationURI:
                            type: string
                          Status:
                            type: string
                        required:
                          - CertificationStartDate
                          - CertificationExpirationDate
                          - CertificationId
                          - AuthorisationServerId
                          - CertificationStatus
                          - ProfileVariant
                          - ProfileType
                          - ProfileVersion
                          - CertificationURI
                          - Status
                    Flags:
                      type: object
                      additionalProperties:
                        nullable: true
                    DirectoryOrganisationId:
                      type: string
                    DirectoryOrganisationName:
                      type: string
                  required:
                    - AutoRegistrationSupported
                    - AutoRegistrationNotificationWebhook
                    - AuthorisationServerId
                    - OrganisationId
                    - CustomerFriendlyName
                    - CustomerFriendlyDescription
                    - CustomerFriendlyLogoUri
                    - DeveloperPortalUri
                    - TermsOfServiceUri
                    - NotificationWebhook
                    - Issuer
                    - OpenIDDiscoveryDocument
                    - PayloadSigningCertLocationUri
                    - ParentAuthorisationServerId
                    - DeprecatedDate
                    - RetirementDate
                    - SupersededByAuthorisationServerId
                    - NotificationWebhookAddedDate
                    - NotificationWebhookStatus
                    - SupportsCiba
                    - SupportsDCR
                    - SupportsRedirect
                    - CreatedAt
                    - Status
                    - ApiResources
                    - AuthorisationServerCertifications
                    - Flags
                    - DirectoryOrganisationId
                    - DirectoryOrganisationName
  /data/available-authorisation-server:
    get:
      description: >-
        Retorna servidores de autorização ativos, com suporte a filtros e
        paginação
      tags:
        - Participantes
      parameters:
        - schema:
            type: string
            enum:
              - DADOS
              - PAGTO
            description: Filtra os servidores pelo papel desejado
          required: false
          description: Filtra os servidores pelo papel desejado
          name: role
          in: query
        - schema:
            type: string
            description: Texto livre para busca por nome de instituição ou CNPJ
          required: false
          description: Texto livre para busca por nome de instituição ou CNPJ
          name: search
          in: query
        - schema:
            type: string
            description: Número da página da listagem
          required: false
          description: Número da página da listagem
          name: page
          in: query
        - schema:
            type: string
            description: Quantidade de itens por página
          required: false
          description: Quantidade de itens por página
          name: limit
          in: query
        - schema:
            type: string
            description: Token FCamara no formato Bearer <token>
          required: true
          description: Token FCamara no formato Bearer <token>
          name: authorization
          in: header
      responses:
        '200':
          description: Servidores de autorização disponíveis retornados com sucesso
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        AuthorisationServerId:
                          type: string
                        CustomerFriendlyName:
                          type: string
                        CustomerFriendlyDescription:
                          type: string
                        CustomerFriendlyLogoUri:
                          type: string
                        Organisations:
                          type: array
                          items:
                            type: object
                            properties:
                              OrganisationId:
                                type: string
                              OrganisationName:
                                type: string
                              RegistrationNumber:
                                type: string
                            required:
                              - OrganisationId
                              - OrganisationName
                      required:
                        - AuthorisationServerId
                        - CustomerFriendlyName
                        - Organisations
                  meta:
                    type: object
                    properties:
                      total:
                        type: number
                      page:
                        type: number
                      limit:
                        type: number
                    required:
                      - total
                      - page
                      - limit
                required:
                  - data
                  - meta
  /data/organisation/{organisationId}:
    get:
      description: Retorna os detalhes de uma organização específica pelo identificador
      tags:
        - Participantes
      parameters:
        - schema:
            type: string
            description: ID da organização
          required: true
          name: organisationId
          in: path
        - schema:
            type: string
            description: Token FCamara no formato Bearer <token>
          required: true
          description: Token FCamara no formato Bearer <token>
          name: authorization
          in: header
      responses:
        '200':
          description: Organização retornada com sucesso
          content:
            application/json:
              schema:
                type: object
                properties:
                  OrganisationId:
                    type: string
                  Status:
                    type: string
                  OrganisationName:
                    type: string
                  CreatedOn:
                    type: string
                  LegalEntityName:
                    type: string
                  CountryOfRegistration:
                    type: string
                  CompanyRegister:
                    type: string
                  Tags:
                    nullable: true
                  Flags:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
                  Size:
                    type: string
                  TaxRegistrationNumber:
                    type: string
                  RegistrationNumber:
                    type: string
                  RegistrationId:
                    type: string
                  RegisteredName:
                    type: string
                  AddressLine1:
                    type: string
                  AddressLine2:
                    type: string
                  City:
                    type: string
                  Postcode:
                    type: string
                  Country:
                    type: string
                  ParentOrganisationReference:
                    type: string
                  OrgDomainClaims:
                    type: array
                    items:
                      type: object
                      properties:
                        AuthorisationDomainID:
                          type: string
                        AuthorisationDomainName:
                          type: string
                        RegistrationId:
                          type: string
                        Status:
                          type: string
                        AuthorityName:
                          type: string
                      required:
                        - AuthorisationDomainID
                        - AuthorisationDomainName
                        - RegistrationId
                        - Status
                        - AuthorityName
                  OrgDomainRoleClaims:
                    type: array
                    items:
                      type: object
                      properties:
                        AuthorisationDomainID:
                          type: string
                        AuthorisationDomain:
                          type: string
                        AuthorisationDomainRoleIdentifier:
                          type: string
                        Role:
                          type: string
                        RegistrationId:
                          type: string
                        UniqueTechnicalIdentifiers:
                          nullable: true
                        Status:
                          type: string
                        Authorisations:
                          type: array
                          items:
                            nullable: true
                        RoleType:
                          type: string
                        Exclusive:
                          type: boolean
                        Metadata:
                          type: array
                          items:
                            nullable: true
                      required:
                        - AuthorisationDomainID
                        - AuthorisationDomain
                        - AuthorisationDomainRoleIdentifier
                        - Role
                        - RegistrationId
                        - Status
                        - Authorisations
                        - RoleType
                        - Exclusive
                        - Metadata
                  AuthorisationServers:
                    type: array
                    items:
                      type: string
                required:
                  - OrganisationId
                  - Status
                  - OrganisationName
                  - CreatedOn
                  - LegalEntityName
                  - CountryOfRegistration
                  - CompanyRegister
                  - Flags
                  - Size
                  - TaxRegistrationNumber
                  - RegistrationNumber
                  - RegistrationId
                  - RegisteredName
                  - AddressLine1
                  - AddressLine2
                  - City
                  - Postcode
                  - Country
                  - ParentOrganisationReference
                  - OrgDomainClaims
                  - OrgDomainRoleClaims
                  - AuthorisationServers
        '404':
          description: Organização não encontrada
  /data/authorisation-server/list:
    get:
      description: >-
        Retorna somente os servidores de autorização encontrados para os IDs
        enviados no header authServerIds
      tags:
        - Participantes
      parameters:
        - schema:
            type: string
            description: Token FCamara no formato Bearer <token>
          required: true
          description: Token FCamara no formato Bearer <token>
          name: authorization
          in: header
        - schema:
            type: string
            description: >-
              Lista de AuthorisationServerIds separados por vírgula (CSV), ex:
              id1,id2,id3
          required: true
          description: >-
            Lista de AuthorisationServerIds separados por vírgula (CSV), ex:
            id1,id2,id3
          name: authServerIds
          in: header
      responses:
        '200':
          description: Lista de servidores de autorização encontrados retornada com sucesso
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    AutoRegistrationSupported:
                      type: boolean
                    AutoRegistrationNotificationWebhook:
                      type: string
                    AuthorisationServerId:
                      type: string
                    OrganisationId:
                      type: string
                    CustomerFriendlyName:
                      type: string
                    CustomerFriendlyDescription:
                      type: string
                    CustomerFriendlyLogoUri:
                      type: string
                    DeveloperPortalUri:
                      type: string
                    TermsOfServiceUri:
                      type: string
                    NotificationWebhook:
                      type: string
                    Issuer:
                      type: string
                    OpenIDDiscoveryDocument:
                      type: string
                    PayloadSigningCertLocationUri:
                      type: string
                    ParentAuthorisationServerId:
                      type: string
                    DeprecatedDate:
                      type: string
                    RetirementDate:
                      type: string
                    SupersededByAuthorisationServerId:
                      type: string
                    OmitFromEcosystem:
                      nullable: true
                    NotificationWebhookAddedDate:
                      type: string
                    NotificationWebhookStatus:
                      type: string
                    SupportsCiba:
                      type: boolean
                    SupportsDCR:
                      type: boolean
                    SupportsRedirect:
                      type: boolean
                    CreatedAt:
                      type: string
                    Status:
                      type: string
                    ApiResources:
                      type: array
                      items:
                        type: object
                        properties:
                          ApiResourceId:
                            type: string
                          ApiVersion:
                            type: string
                          ApiFamilyID:
                            type: string
                          FamilyComplete:
                            type: boolean
                          ApiCertificationUri:
                            type: string
                          CertificationStatus:
                            type: string
                          CertificationStartDate:
                            type: string
                          CertificationExpirationDate:
                            type: string
                          ApiFamilyType:
                            type: string
                          Status:
                            type: string
                          ApiDiscoveryEndpoints:
                            type: array
                            items:
                              type: object
                              properties:
                                ApiDiscoveryId:
                                  type: string
                                ApiEndpoint:
                                  type: string
                              required:
                                - ApiDiscoveryId
                                - ApiEndpoint
                        required:
                          - ApiResourceId
                          - ApiVersion
                          - FamilyComplete
                          - ApiCertificationUri
                          - CertificationStatus
                          - CertificationStartDate
                          - CertificationExpirationDate
                          - ApiFamilyType
                          - Status
                          - ApiDiscoveryEndpoints
                    AuthorisationServerCertifications:
                      type: array
                      items:
                        type: object
                        properties:
                          CertificationStartDate:
                            type: string
                          CertificationExpirationDate:
                            type: string
                          CertificationId:
                            type: string
                          AuthorisationServerId:
                            type: string
                          CertificationStatus:
                            type: string
                          ProfileVariant:
                            type: string
                          ProfileType:
                            type: string
                          ProfileVersion:
                            type: number
                          CertificationURI:
                            type: string
                          Status:
                            type: string
                        required:
                          - CertificationStartDate
                          - CertificationExpirationDate
                          - CertificationId
                          - AuthorisationServerId
                          - CertificationStatus
                          - ProfileVariant
                          - ProfileType
                          - ProfileVersion
                          - CertificationURI
                          - Status
                    Flags:
                      type: object
                      additionalProperties:
                        nullable: true
                    DirectoryOrganisationId:
                      type: string
                    DirectoryOrganisationName:
                      type: string
                  required:
                    - AutoRegistrationSupported
                    - AutoRegistrationNotificationWebhook
                    - AuthorisationServerId
                    - OrganisationId
                    - CustomerFriendlyName
                    - CustomerFriendlyDescription
                    - CustomerFriendlyLogoUri
                    - DeveloperPortalUri
                    - TermsOfServiceUri
                    - NotificationWebhook
                    - Issuer
                    - OpenIDDiscoveryDocument
                    - PayloadSigningCertLocationUri
                    - ParentAuthorisationServerId
                    - DeprecatedDate
                    - RetirementDate
                    - SupersededByAuthorisationServerId
                    - NotificationWebhookAddedDate
                    - NotificationWebhookStatus
                    - SupportsCiba
                    - SupportsDCR
                    - SupportsRedirect
                    - CreatedAt
                    - Status
                    - ApiResources
                    - AuthorisationServerCertifications
                    - Flags
                    - DirectoryOrganisationId
                    - DirectoryOrganisationName
  /data/authorisation-server/{authorisationServerId}:
    get:
      description: >-
        Retorna os detalhes de um servidor de autorização específico pelo
        identificador
      tags:
        - Participantes
      parameters:
        - schema:
            type: string
            description: ID do servidor de autorização
          required: true
          name: authorisationServerId
          in: path
        - schema:
            type: string
            description: Token FCamara no formato Bearer <token>
          required: true
          description: Token FCamara no formato Bearer <token>
          name: authorization
          in: header
      responses:
        '200':
          description: Servidor de autorização retornado com sucesso
          content:
            application/json:
              schema:
                type: object
                properties:
                  AutoRegistrationSupported:
                    type: boolean
                  AutoRegistrationNotificationWebhook:
                    type: string
                  AuthorisationServerId:
                    type: string
                  OrganisationId:
                    type: string
                  CustomerFriendlyName:
                    type: string
                  CustomerFriendlyDescription:
                    type: string
                  CustomerFriendlyLogoUri:
                    type: string
                  DeveloperPortalUri:
                    type: string
                  TermsOfServiceUri:
                    type: string
                  NotificationWebhook:
                    type: string
                  Issuer:
                    type: string
                  OpenIDDiscoveryDocument:
                    type: string
                  PayloadSigningCertLocationUri:
                    type: string
                  ParentAuthorisationServerId:
                    type: string
                  DeprecatedDate:
                    type: string
                  RetirementDate:
                    type: string
                  SupersededByAuthorisationServerId:
                    type: string
                  OmitFromEcosystem:
                    nullable: true
                  NotificationWebhookAddedDate:
                    type: string
                  NotificationWebhookStatus:
                    type: string
                  SupportsCiba:
                    type: boolean
                  SupportsDCR:
                    type: boolean
                  SupportsRedirect:
                    type: boolean
                  CreatedAt:
                    type: string
                  Status:
                    type: string
                  ApiResources:
                    type: array
                    items:
                      type: object
                      properties:
                        ApiResourceId:
                          type: string
                        ApiVersion:
                          type: string
                        ApiFamilyID:
                          type: string
                        FamilyComplete:
                          type: boolean
                        ApiCertificationUri:
                          type: string
                        CertificationStatus:
                          type: string
                        CertificationStartDate:
                          type: string
                        CertificationExpirationDate:
                          type: string
                        ApiFamilyType:
                          type: string
                        Status:
                          type: string
                        ApiDiscoveryEndpoints:
                          type: array
                          items:
                            type: object
                            properties:
                              ApiDiscoveryId:
                                type: string
                              ApiEndpoint:
                                type: string
                            required:
                              - ApiDiscoveryId
                              - ApiEndpoint
                      required:
                        - ApiResourceId
                        - ApiVersion
                        - FamilyComplete
                        - ApiCertificationUri
                        - CertificationStatus
                        - CertificationStartDate
                        - CertificationExpirationDate
                        - ApiFamilyType
                        - Status
                        - ApiDiscoveryEndpoints
                  AuthorisationServerCertifications:
                    type: array
                    items:
                      type: object
                      properties:
                        CertificationStartDate:
                          type: string
                        CertificationExpirationDate:
                          type: string
                        CertificationId:
                          type: string
                        AuthorisationServerId:
                          type: string
                        CertificationStatus:
                          type: string
                        ProfileVariant:
                          type: string
                        ProfileType:
                          type: string
                        ProfileVersion:
                          type: number
                        CertificationURI:
                          type: string
                        Status:
                          type: string
                      required:
                        - CertificationStartDate
                        - CertificationExpirationDate
                        - CertificationId
                        - AuthorisationServerId
                        - CertificationStatus
                        - ProfileVariant
                        - ProfileType
                        - ProfileVersion
                        - CertificationURI
                        - Status
                  Flags:
                    type: object
                    additionalProperties:
                      nullable: true
                  DirectoryOrganisationId:
                    type: string
                  DirectoryOrganisationName:
                    type: string
                required:
                  - AutoRegistrationSupported
                  - AutoRegistrationNotificationWebhook
                  - AuthorisationServerId
                  - OrganisationId
                  - CustomerFriendlyName
                  - CustomerFriendlyDescription
                  - CustomerFriendlyLogoUri
                  - DeveloperPortalUri
                  - TermsOfServiceUri
                  - NotificationWebhook
                  - Issuer
                  - OpenIDDiscoveryDocument
                  - PayloadSigningCertLocationUri
                  - ParentAuthorisationServerId
                  - DeprecatedDate
                  - RetirementDate
                  - SupersededByAuthorisationServerId
                  - NotificationWebhookAddedDate
                  - NotificationWebhookStatus
                  - SupportsCiba
                  - SupportsDCR
                  - SupportsRedirect
                  - CreatedAt
                  - Status
                  - ApiResources
                  - AuthorisationServerCertifications
                  - Flags
                  - DirectoryOrganisationId
                  - DirectoryOrganisationName
        '404':
          description: Servidor de autorização não encontrado
