---
title: "Retrofit | Skills We Assign For | Azendo"
description: "Retrofit on Android — declarative API definitions, OkHttp interceptors, and the Azendo roles assigned for it."
url: "https://azendo.co/skills/retrofit/"
---

[Skills](https://azendo.co/skills/) Mobile platforms and frameworks 

# Retrofit.

Retrofit is a type-safe HTTP client for Android and the JVM. API endpoints are declared as annotated interface methods and the library generates the implementation, with OkHttp underneath handling connections, interceptors and caching.

## Where Retrofit fits on a long engagement.

Declaring the API as an interface makes the contract visible in one file. Endpoints, parameters and response types are stated rather than assembled at call sites, which means a change to the API surfaces as a compile error in a known place instead of as a parsing failure at runtime.

Most of the operational behaviour actually comes from OkHttp underneath — connection pooling, caching, retries and interceptors. Teams that treat Retrofit as the whole networking story tend to miss the caching and interceptor configuration that decides how the app behaves on a poor connection.

## What an assigned team does with Retrofit.

Error handling is where Android networking code usually degrades. A generic catch that turns every failure into one message loses the distinction between no connection, a server error and an expired token, which are three different things a user needs told differently.

Getting that right depends on knowing the product rather than the library, which is knowledge a standing assignment accumulates. What that commitment covers is set out in [how the monthly fee is built](https://azendo.co/pricing/).

## What we use Retrofit for.

* A visible API contract Endpoints declared in one interface, so a backend change fails the build in a known place.
* Caching and interceptors configured deliberately OkHttp set up for real network conditions rather than left at defaults.
* Failures a user can act on Distinguishing offline, server error and expired session instead of showing one generic message.

## How Retrofit capacity is assigned.

Retrofit work sits inside Android capacity under [software development outsourcing](https://azendo.co/services/software-development/).

## Roles we assign Retrofit for

* [Android Developer Mobile development](https://azendo.co/services/mobile-development/android-developer/)

## Service lines it sits in

* [Mobile development](https://azendo.co/services/mobile-development/)

Capacity is agreed as a committed monthly capacity across a discipline, not per skill.

## Related in mobile platforms and frameworks

* [SwiftUI — skill we assign for](https://azendo.co/skills/swiftui/)
* [UIKit — skill we assign for](https://azendo.co/skills/uikit/)
* [Jetpack Compose — skill we assign for](https://azendo.co/skills/jetpack-compose/)
* [Coroutines — skill we assign for](https://azendo.co/skills/coroutines/)
* [Flutter — skill we assign for](https://azendo.co/skills/flutter/)
* [React Native — skill we assign for](https://azendo.co/skills/react-native/)
* [Expo — skill we assign for](https://azendo.co/skills/expo/)
* [Ionic — skill we assign for](https://azendo.co/skills/ionic/)

## Tell us what your roadmap needs Retrofit for.

A service delivery manager replies with the disciplines we would assign, the monthly capacity and what the first month looks like.

[All skills we assign for](https://azendo.co/skills/)
