openapi: 3.0.0 info: title: APIs OpenData do Open Banking Brasil description: As APIs descritas neste documento são referentes as APIs da fase OpenData do Open Banking Brasil. version: 1.0.0-rc5.2 contact: email: "apiteam@swagger.io" servers: - url: 'http://api.banco.com.br/open-banking/discovery/v1' tags: - name: "Discovery" paths: /status: get: tags: - Discovery summary: a descrição referente ao código de status retornado pelas APIs description: " descrição referente ao código de status retornado pelas APIs" operationId: "getStatus" parameters: - $ref: "#/components/parameters/page" - $ref: "#/components/parameters/pageSize" responses: '200': description: código de status retornado pelas APIs content: application/json: schema: $ref: '#/components/schemas/ResponseDiscoveryStatusList' /outages: get: tags: - Discovery summary: a descrição referente ao código de status retornado pelas APIs description: "a descrição referente ao código de status retornado pelas APIs" operationId: "getOutage" parameters: - $ref: "#/components/parameters/page" - $ref: "#/components/parameters/pageSize" responses: '200': description: código de status retornado pelas APIs content: application/json: schema: $ref: '#/components/schemas/ResponseDiscoveryOutageList' components: schemas: ResponseDiscoveryStatusList: type: object required: - data - links - meta properties: data: type: object required: - status properties: status: type: array items: $ref: '#/components/schemas/Status' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' ResponseDiscoveryOutageList: type: object required: - data - links - meta properties: data: type: array items: required: - outageTime - duration - isPartial - explanation properties: outageTime: type: string description: Data e hora planejada do início da indisponibilidade example: '2020-07-21T08:30:00Z' duration: type: string description: Duração prevista da indisponibilidade example: PT2H30M isPartial: type: boolean description: Flag que indica se a indisponibilidade é parcial (atingindo apenas alguns end points) ou total (atingindo todos os end points) example: false explanation: type: string description: Explicação sobre os motivos da indisponibilidade. example: Atualização do API Gateway links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' Links: type: object properties: self: type: string description: URL da página atualmente requisitada example: 'https://api.banco.com.br/open-banking/channels/v1/' first: type: string description: URL da primeira página de registros example: 'https://api.banco.com.br/open-banking/channels/v1/' prev: type: string description: URL da página anterior de registros next: type: string description: URL da próxima página de registros last: type: string description: URL da última página de registros example: 'https://api.banco.com.br/open-banking/channels/v1/' Meta: type: object properties: totalRecords: type: integer description: Total de registros encontrados example: 1 totalPages: type: integer description: Total de páginas para os registros encontrados example: 1 required: - totalRecords - totalPages Status: type: object required: - code - explanation properties: code: type: string enum: - OK - PARTIAL_FAILURE - UNAVAILABLE - SCHEDULED_OUTAGE description: > Condição atual da API: * `OK` - A implementação é totalmente funcional * `PARTIAL_FAILURE` - Um ou mais endpoints estão indisponíveis * `UNAVAILABLE` - A implementação completa está indisponível * `SCHEDULED_OUTAGE` - Uma interrupção anunciada está em vigor example: OK explanation: type: string description: Fornece uma explicação da interrupção atual que pode ser exibida para um cliente final. Será obrigatoriamente preenchido se code tiver algum valor que não seja OK example: Retorno com Sucesso detectionTime: type: string description: A data e hora em que a interrupção atual foi detectada. Será obrigatoriamente preenchido se a propriedade code for PARTIAL_FAILURE ou UNAVAILABLE example: '2020-07-21T08:30:00Z' expectedResolutionTime: type: string description: A data e hora em que o serviço completo deve continuar (se conhecido). Será obrigatoriamente preenchido se code tiver algum valor que não seja OK example: '2020-07-21T08:30:00Z' updateTime: type: string description: A data e hora em que esse status foi atualizado pela última vez pelo titular dos dados. example: '2020-01-02T01:00:00Z' unavailableEndpoints: type: array description: Endpoints com indisponibilidade items: type: string example: - 'https://api.banco.com.br/open-banking/channels/v1/electronic-channels' parameters: 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 pageSize: name: page-size in: query description: Quantidade total de registros por páginas. schema: type: integer default: 25 minimum: 1