```swift func postTodo() async { let message = #"{"message": "my new Todo"}"# let request = RESTRequest(path: "/todo", body: message.data(using: .utf8)) do { let data = try await Amplify.API.post(request: request) let str = String(decoding: data, as: UTF8.self) print("Success: \(str)") } catch let error as APIError { print("Failed due to API error: ", error) } catch { print("Unexpected error: \(error)") } } ``` ```swift func postTodo() -> AnyCancellable { let message = #"{"message": "my new Todo"}"# let request = RESTRequest(path: "/todo", body: message.data(using: .utf8)) let sink = Amplify.Publisher.create { try await Amplify.API.post(request: request) } .sink { if case let .failure(apiError) = $0 { print("Failed", apiError) } } receiveValue: { data in let str = String(decoding: data, as: UTF8.self) print("Success \(str)") } return sink } ```