---
schema_version: "1"
id: 7c7b88308511cec7f42195f0672fad6f6e71e9ecd08c97a9b9ff892442e47935
title: Work with Response Metadata
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/salesforce-slack-sdk/apex-slack-sdk/guides/apex_ref/apex_ref_response_metadata.md
canonical_url: https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_response_metadata.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: d89fdb0ca0736e85a2531a21a6a587af226e3ddd7e17bdd00b2a02e89064caf8
products:
  - Apex SDK for Slack (Beta)
---
# Work with Response Metadata

The following are Apex classes to work with response metadata for errors and warnings. Slack returns response metadata as part of the Web API calls, which are helpful for debugging or error handling. Detailed errors and warnings are returned in the `messages` field in the response metadata.

## ResponseMetadata Class

Represents response metadata from a Slack Web API call.

### Usage

When receiving a response from Slack's API call, use `getResponseMetadata().getMessages()` to retrieve any error messages. This example shows how to retrieve the error messages from [`Slack.ChatPostMessageResponse`](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_chat.md#chatpostmessageresponse-class).

```java
Slack.ChatPostMessageRequest req = new Slack.ChatPostMessageRequest.builder()
    .channel((String) this.parameters.get('channelId'))
    .text('Details for record id' + recordId)
    .viewReference(viewReference)
    .build();

Slack.ChatPostMessageResponse response = userClient.ChatPostMessage(req);
if (response.getError() != null) {
    System.debug(response.getResponseMetadata().getMessages());
}
```

### ResponseMetadata Methods

The following are methods for `ResponseMetadata`.

#### getMessages()

**Signature**

```java
public List<String> getMessages()
```

**Return Value**

Type: List\<String\>

#### getNextCursor()

Responses include the `next_cursor` value to navigate through additional results. See [Paginating through collections](https://api.slack.com/docs/pagination).

**Signature**

```java
public String getNextCursor()
```

**Return Value**

Type: String

#### getResponseMetadata()

**Signature**

```java
public Slack.ResponseMetadata getResponseMetadata()
```

**Return Value**

Type: [Slack.ResponseMetadata](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_response_metadata.md#responsemetadata-class)

#### getWarnings()

**Signature**

```java
public List<String> getWarnings()
```

**Return Value**

Type: List\<String\>

#### setMessages(messages)

**Signature**

```java
public void setMessages(List<String> messages)
```

**Parameters**

_messages_

Type: List\<String\>

**Return Value**

Type: void

#### setNextCursor(nextCursor)

**Signature**

```java
public void setNextCursor(String nextCursor)
```

**Parameters**

_messages_

Type: String

**Return Value**

Type: void

#### ssetResponseMetadata(responseMetadata)

**Signature**

```java
public void setResponseMetadata(Slack.ResponseMetadata responseMetadata)
```

**Parameters**

responseMetadata

Type: [Slack.ResponseMetadata](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/apex_ref_response_metadata.md#responsemetadata-class)

**Return Value**

Type: void

#### setWarnings(warnings)

**Signature**

```java
public void setWarnings(List<String> warnings)
```

**Parameters**

_warnings_

Type: List\<String\>

**Return Value**

Type: void

## ErrorResponseMetadata Class

Represents response metadata for an error.

### ErrorResponseMetadata Methods

The following are methods for `ErrorResponseMetadata`.

#### getMessages()

**Signature**

```java
public List<String> getMessages()
```

**Return Value**

Type: List\<String\>

#### setMessages(messages)

**Signature**

```java
public void setMessages(List<String> messages)
```

**Parameters**

_messages_

Type: List\<String\>

**Return Value**

Type: void

## WarningResponseMetadata Class

Represents response metadata for a warning.

### WarningResponseMetadata Methods

The following are methods for `WarningResponseMetadata`.

#### getWarnings()

**Signature**

```java
public List<String> getWarnings()
```

**Return Value**

Type: List\<String\>

#### setWarnings(warnings)

```java
public void setWarnings(List<String> warnings)
```

**Parameters**

_warnings_

Type: List\<String\>

**Return Value**

Type: void
