Declaratively build and send client requests for REST APIs in Swift.

What's New



What's Changed

  • All new codebase re-written using result builders
  • New documentation built with DocC

Full Changelog: 1.2.0...2.0.0


License Swift SwiftPM Platforms Test

Declaratively build and send client requests for REST APIs.


Relax provides a way to declaratively define and organize client HTTP requests for REST APIs. The framework is lightweight built on protocols, easily allowing you to structure your requests for even the most complex REST APIs.

Full Reference Documentation


  • Lightweight: built on protocols, works directly on URLSession for low overhead
  • Declarative syntax: using result builders, allows for quickly and easily organizing requests to match any structure of REST API.
  • Modern: Supports Swift concurrency (async/await) and Combine (on Apple platforms).

Supported Platforms

Available for all Swift (5.7+) platforms, including:

Platform Minimum Version
macOS 12.0
iOS 14.0
watchOS 7.0
tvOS 14.0
Linux Swift 5.7*
Windows Swift 5.7*

*Works on any version where Swift 5.7 is supported.

Getting Started

Relax supports the Swift Package Manager. To integrate in your project-

  1. Add the following to the package dependencies in the Package.swift manifest file:

    dependencies: [
        .package(url: "", from: "2.0.0")
  2. Add Relax to the target dependencies:

    targets: [
            name: "YourProject",
            dependencies: ["Relax"])

In files where you will be using Relax, import the framework:

import Relax

To get started using Relax, see the full documentation.


  • Swift Tools 5.2.0
View More Packages from this Author


  • None
Last updated: Fri Feb 03 2023 05:49:17 GMT-0500 (GMT-05:00)