> For the complete documentation index, see [llms.txt](https://docs.maildrop.cc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.maildrop.cc/api-reference/service-status.md).

# Service Status

{% hint style="info" %}
There are multiple services that report their status; this method is provided as a convenience to see if Maildrop is completely functional or not. Most users should never need to run this query.
{% endhint %}

## Returns the status of Maildrop as a string.

<mark style="color:green;">`POST`</mark> `https://api.maildrop.cc/graphql`

Checks the current status of the various services in the Maildrop architecture and returns either "operational" or an error string.

Results are cached for up to a minute.

#### Headers

| Name         | Type   | Description      |
| ------------ | ------ | ---------------- |
| Content-Type | String | application/json |

#### Request Body

| Name | Type   | Description                             |
| ---- | ------ | --------------------------------------- |
|      | String | '{ query: "query Example { status }" }' |

{% tabs %}
{% tab title="200: OK " %}

```json
{
    "data": {
        "status": "operational"
    }
}
```

{% endtab %}
{% endtabs %}

#### Examples

{% tabs %}
{% tab title="curl" %}

```bash
curl --request POST \
    --header 'content-type: application/json' \
    --url https://api.maildrop.cc/graphql \
    --data '{"query":"query Example {\n  status\n}"}'
```

returns:

```json
{"data":{"status":"operational"}}
```

{% endtab %}

{% tab title="React" %}

```tsx
export const GET_STATUS = gql`
    query GetStatus {
        status
    }
}`;

interface QueryReturn {
    status: string;
}

const MyComponent = () => {
    const [{ loading, error, data }] = useQuery<QueryReturn>(GET_STATUS);
    return (
        <div>
            {loading && <div>Loading...</div>}
            {!loading && error && <div>There was an error.</div>}
            {!loading && data?.status && <div>Status: {data.status}</div>}            
        </div>
    );
};
```

{% endtab %}
{% endtabs %}
