> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CrossmintService

> Swift Protocol

**Protocol**

```swift theme={null}
protocol CrossmintService : Sendable
```

## Instance Properties

### isProductionEnvironment

```swift theme={null}
var isProductionEnvironment: Bool { get }
```

## Instance Methods

### executeRequest(\_:errorType:)

```swift theme={null}
func executeRequest<T, E>(_ endpoint: Endpoint, errorType: E.Type) async throws(E) -> T where T : Decodable, E : ServiceError
```

### executeRequest(\_:errorType:)

```swift theme={null}
func executeRequest<E>(_ endpoint: Endpoint, errorType: E.Type) async throws(E) where E : ServiceError
```

### executeRequest(*:errorType:*:)

```swift theme={null}
func executeRequest<T, E>(_ endpoint: Endpoint, errorType: E.Type, _ transform: (NetworkError) -> E?) async throws(E) -> T where T : Decodable, E : ServiceError
```

### executeRequest(*:errorType:*:)

```swift theme={null}
func executeRequest<E>(_ endpoint: Endpoint, errorType: E.Type, _ transform: (NetworkError) -> E?) async throws(E) where E : ServiceError
```

### executeRequestForRawData(\_:errorType:)

```swift theme={null}
func executeRequestForRawData<E>(_ endpoint: Endpoint, errorType: E.Type) async throws(E) -> Data where E : ServiceError
```

### executeRequestForRawData(*:errorType:*:)

```swift theme={null}
func executeRequestForRawData<E>(_ endpoint: Endpoint, errorType: E.Type, _ transform: (NetworkError) -> E?) async throws(E) -> Data where E : ServiceError
```

### getApiBaseURL()

```swift theme={null}
func getApiBaseURL() throws(CrossmintServiceError) -> URL
```
