As a participant in the API economy, Capital One has seen firsthand how much the creation and exchange of application programming interfaces (APIs) can be beneficial to a company's application building. That is why Capital One has launched a new developer portal, Capital One DevExchange.
With a tagline of "Powerful APIs that go beyond banking," the Capital One DevExchange is a repository for developer tools and APIs to enable developers to use the financial institution's software building resources to create better customer experiences. The company is starting out offering an initial set of APIs that include authentication services, among other things.
In a blog post on the launch, Naveed Anwar, managing vice president of Digital at Capital One, said the company is one of the first banks to open its platform to external developers and partners.
"Capital One knows about creating new things," Anwar said in his post. "We were founded on the belief that information, technology and great people could combine to bring new, highly customized financial products directly to consumers. It was daunting, and exhilarating. But less than three decades and more than 45 million great customers later—you could say we've proven that original concept. We're not satisfied yet—and want to accomplish the same with the development community."
The company is initially offering three APIs, including an API to provide two-factor authentication through Capital One's own customer authentication system. That API, known as SwiftID, offers two-factor authentication services, based on Capital One's digital customer accounts. With SwiftID, Capital One customers can use their Capital One identities to manage other third-party services in a similar, though more secure, way that Facebook IDs can be used to access other Web services.
The second API is called Rewards, and can provide Capital One customer rewards information, such as miles, points and customer-earned cash rewards. The third new API is called Credit Offers, where the user can submit some basic information, and the company will return a set of pre-qualification customized offers to Capital One financial services, such as credit cards.
Once developers connect their apps to Capital One's APIs, they can access a dashboard to give them performance and health metrics. Some of these capabilities come from Capital One's own internally-developed dashboard called Hygieia, which the company open-sourced last year.
Capital One officials said sample code will be offered in Node.js, Curl and Python. And, over time, code will be offered in other languages as well, selected from user-demand. Moreover, Capital One is using Swagger to build out and manage its APIs and uses both Node.js and Ruby on Rails to scale out the services for external use. All the APIs are run from Amazon Web Services.
Swagger is an API description format used by developers in modern programming languages and deployment environments to design and deliver APIs that fuel Internet of things (IoT), microservices and mobile applications in the connected world. SmartBear acquired the Swagger open-source project last year at this time.
Swagger is a simple representation of RESTful APIs. With Swagger, API developers can easily deliver interactive documentation, client SDKs and discoverable APIs. With its code generation capabilities and open-source tools, Swagger makes it easy for developers to go from design to implementation in a short amount of time. Swagger helps leading technology companies and enterprises such as Microsoft, IBM, Apigee, Getty Images, Intuit, LivingSocial, McKesson, Morningstar, PayPal and now Capital One build services with RESTful APIs.
Meanwhile, Anwar said the Capital One DevExchange is a place developers can easily test their concepts, have robust test data analytics and get instant access to prove their ideas. It also is a place where developers can get feedback on their ideas with like-minded people, he said.
Last July, Capital One open-sourced its Hygieia dashboard—contributing it to the community. Capital One uses the Hygieia DevOps dashboard during software development to give teams and leaders a snapshot view of progress and the health of the development pipeline. Most DevOps tools only cover a portion of the pipeline such as quality or environment health, but they don't offer a comprehensive view, Capital One officials said.
The bank realized this when they went looking for a dashboard they could use with their Agile development teams. Finding all the existing dashboards out there to be lacking, a Capital One development team took matters into their own hands and developed a comprehensive dashboard to provide customizable widgets for all of the steps in the software development lifecycle.
Tools are key to today's Agile and DevOps methodologies. A typical project deals with Agile project management tools, source control, continuous integration (CI) tools, testing tools, static code analysis and security scanning tools, deployment and monitoring tools to name a few, said Tapabrata Pal, director of Next Generation Infrastructure at Capital One. Large enterprises and complex systems sometimes use multiple CI, testing and scanning tools. Each of these has nice dashboards to present key information stored in it, but what is lacking is a single, comprehensive end-to-end view of the state of a delivery pipeline in near real time, he said.