> For the complete documentation index, see [llms.txt](https://brightercommand.gitbook.io/paramore-brighter-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://brightercommand.gitbook.io/paramore-brighter-documentation/guaranteed-at-least-once/brightercontrolapi.md).

# Brighter Control API

The brighter control API allows direct management of a Service Activator node

## Configuring the API

Brighter's Package:

* **Paramore.Brighter.ServiceActivator.Control.Api**

provides an extension for ASPNet.Core's `IEndpointRouteBuilder`

```c#
app.UseEndpoints(endpoints =>
{
    endpoints.MapBrighterControlEndpoints();
}
```

When mapping the Brighter Control API you can pass a string to change the base route of these calls, by default it is set to `/control`

## API's Provided

### Get Node Status

You can retrieve the status of a Service Activator node by calling `GET /control/status`

The response contains: - **nodeName** : The name of the node running Service Activator - **availableTopics** : The Topics that this node can service - **subscriptions** : An array of Information about currently configured subscriptions - **topicName** : Name of Topic - **performers** : An array of performers - **activePerformers** : Number of currently active performers - **expectedPerformers** : Number of expected performers - **isHealthy** : Is this subscription healthy on this node - **isHealthy** : Is this node Healthy - **numberOfActivePerformers** : The Number of Performers currently running on the Node - **timeStamp** : Timestamp of Status Event - **executingAssemblyVersion** : The version of the running process

```json
{
    "nodeName": "Brightere4888035-06f4-4ef8-b928-dbd47d958538",
    "availableTopics": [
        "Orders.NewOrderVersionEvent"
    ],
    "subscriptions": [
        {
            "topicName": "Orders.NewOrderVersionEvent",
            "performers": [
                "Orders.NewOrderVersionEvent-0943a9d2-6a00-4cd5-a4cb-cd97106e2bbe"
            ],
            "activePerformers": 1,
            "expectedPerformers": 1,
            "isHealthy": true
        }
    ],
    "isHealthy": true,
    "numberOfActivePerformers": 1,
    "timeStamp": "2024-06-29T15:45:46.8910117Z",
    "executingAssemblyVersion": "9.7.8+476e3ad5c683683086393b17deceea509f68566a"
}
```

### Update Performer Count

You can update the number of running performers by calling `PATCH /control/subscriptions/{{subscriptionName}}/performers/{{numberOfPerformers:int}}`

This will return either :

* OK with a Message such as `Active performers for Orders.NewOrderVersionEvent set to 2`
* BAD REQUEST with a message such as `No such subscription Orders.NewOrderVersionCommand`


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://brightercommand.gitbook.io/paramore-brighter-documentation/guaranteed-at-least-once/brightercontrolapi.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
