# Subscribe Signal

## POST /v1/signals/{id}/subscribe

> Subscribe to a Signal.

```json
{"openapi":"3.0.1","info":{"title":"Agent API","version":"25.8.1"},"servers":[{"url":"youragentURL.symphony.com/agent"}],"paths":{"/v1/signals/{id}/subscribe":{"post":{"tags":["Signals"],"summary":"Subscribe to a Signal.","parameters":[{"name":"sessionToken","in":"header","description":"Session authentication token.","required":true,"schema":{"type":"string"}},{"name":"keyManagerToken","in":"header","description":"Key Manager authentication token.","schema":{"type":"string"}},{"name":"id","in":"path","description":"The id of the signal.","required":true,"schema":{"type":"string"}},{"name":"pushed","in":"query","description":"Prevent the user to unsubscribe (only for bulk subscription)","schema":{"type":"boolean"}}],"requestBody":{"description":"UserIds to subscribe (only for bulk subscription)","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}},"required":false},"responses":{"200":{"description":"Signal subscribed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelSubscriptionResponse"}}}},"400":{"description":"Client error, see response body for further details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2Error"}}}},"401":{"description":"Unauthorized: Session tokens invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2Error"}}}},"403":{"description":"Forbidden: Caller lacks necessary entitlement.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2Error"}}}},"500":{"description":"Server error, see response body for further details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2Error"}}}}}}}},"components":{"schemas":{"ChannelSubscriptionResponse":{"type":"object","properties":{"requestedSubscription":{"type":"integer","description":"The number of requested userIds to subscribe","format":"int64"},"successfulSubscription":{"type":"integer","description":"The number of successful subscriptions done","format":"int64"},"failedSubscription":{"type":"integer","description":"The number of subscription failures","format":"int64"},"subscriptionErrors":{"type":"array","items":{"$ref":"#/components/schemas/ChannelSubscriptionError"}}}},"ChannelSubscriptionError":{"type":"object","properties":{"userId":{"type":"integer","description":"The userId on which failure happened","format":"int64"},"code":{"type":"string","description":"subscription failure code"},"message":{"type":"string","description":"subscription failure message"}}},"V2Error":{"required":["code","message"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"object"}}}}}}
```

### Request Examples

```bash
curl -X POST \
https://acme.symphony.com/agent/v1/signals/5a6efc9db9d8210001b9960b/subscribe \
  -H 'content-type: application/json' \
  -H 'sessiontoken: SESSION_TOKEN' \
  -H 'keymanagertoken: KEYMANAGER_TOKEN' \   
  -d '[68719476759, 68719476760, 68719476761]'
```

```bash
curl -X POST
  -H 'content-type: application/json'
  -H 'sessiontoken: SESSION_TOKEN'
  -H 'keymanagertoken: KEYMANAGER_TOKEN'  
  https://acme.symphony.com/agent/v1/signals/5a6efc9db9d8210001b9960b/subscribe
```

> #### 🚧 Required Permissions
>
> To subscribe other users to a specific signal, the requesting user needs to have the `canManageSignalSubscription` entitlement.
