# Get announcements

GET https://app.launchdarkly.com/api/v2/announcements

Get announcements

Reference: https://launchdarkly.com/docs/api/announcements/get-announcements-public

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: LaunchDarkly REST API
  version: 1.0.0
paths:
  /api/v2/announcements:
    get:
      operationId: get-announcements-public
      summary: Get announcements
      description: Get announcements
      tags:
        - subpackage_announcements
      parameters:
        - name: status
          in: query
          description: Filter announcements by status.
          required: false
          schema:
            $ref: '#/components/schemas/ApiV2AnnouncementsGetParametersStatus'
        - name: limit
          in: query
          description: The number of announcements to return.
          required: false
          schema:
            type: integer
        - name: offset
          in: query
          description: >-
            Where to start in the list. Use this with pagination. For example,
            an offset of 10 skips the first ten items and then returns the next
            items in the list, up to the query `limit`.
          required: false
          schema:
            type: integer
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Announcement response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getAnnouncementsPublic_200_response'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
servers:
  - url: https://app.launchdarkly.com
  - url: https://app.launchdarkly.us
components:
  schemas:
    ApiV2AnnouncementsGetParametersStatus:
      type: string
      enum:
        - active
        - inactive
        - scheduled
      title: ApiV2AnnouncementsGetParametersStatus
    AnnouncementResponseSeverity:
      type: string
      enum:
        - info
        - warning
        - critical
      description: The severity of the announcement
      title: AnnouncementResponseSeverity
    AnnouncementResponseStatus:
      type: string
      enum:
        - active
        - inactive
        - scheduled
      description: The status of the announcement
      title: AnnouncementResponseStatus
    ActionSpecifier:
      type: string
      title: ActionSpecifier
    AnnouncementAccessDeniedReasonEffect:
      type: string
      enum:
        - allow
        - deny
      description: Whether this statement should allow or deny actions on the resources.
      title: AnnouncementAccessDeniedReasonEffect
    AnnouncementAccessDeniedReason:
      type: object
      properties:
        resources:
          type: array
          items:
            type: string
          description: Resource specifier strings
        notResources:
          type: array
          items:
            type: string
          description: >-
            Targeted resources are the resources NOT in this list. The
            <code>resources</code> and <code>notActions</code> fields must be
            empty to use this field.
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ActionSpecifier'
          description: Actions to perform on a resource
        notActions:
          type: array
          items:
            $ref: '#/components/schemas/ActionSpecifier'
          description: >-
            Targeted actions are the actions NOT in this list. The
            <code>actions</code> and <code>notResources</code> fields must be
            empty to use this field.
        effect:
          $ref: '#/components/schemas/AnnouncementAccessDeniedReasonEffect'
          description: >-
            Whether this statement should allow or deny actions on the
            resources.
        role_name:
          type: string
      required:
        - effect
      title: AnnouncementAccessDeniedReason
    AnnouncementAccessDenied:
      type: object
      properties:
        action:
          type: string
        reason:
          $ref: '#/components/schemas/AnnouncementAccessDeniedReason'
      required:
        - action
        - reason
      title: AnnouncementAccessDenied
    AnnouncementAccessAllowedReasonEffect:
      type: string
      enum:
        - allow
        - deny
      description: Whether this statement should allow or deny actions on the resources.
      title: AnnouncementAccessAllowedReasonEffect
    AnnouncementAccessAllowedReason:
      type: object
      properties:
        resources:
          type: array
          items:
            type: string
          description: Resource specifier strings
        notResources:
          type: array
          items:
            type: string
          description: >-
            Targeted resources are the resources NOT in this list. The
            <code>resources</code> and <code>notActions</code> fields must be
            empty to use this field.
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ActionSpecifier'
          description: Actions to perform on a resource
        notActions:
          type: array
          items:
            $ref: '#/components/schemas/ActionSpecifier'
          description: >-
            Targeted actions are the actions NOT in this list. The
            <code>actions</code> and <code>notResources</code> fields must be
            empty to use this field.
        effect:
          $ref: '#/components/schemas/AnnouncementAccessAllowedReasonEffect'
          description: >-
            Whether this statement should allow or deny actions on the
            resources.
        role_name:
          type: string
      required:
        - effect
      title: AnnouncementAccessAllowedReason
    AnnouncementAccessAllowedRep:
      type: object
      properties:
        action:
          type: string
        reason:
          $ref: '#/components/schemas/AnnouncementAccessAllowedReason'
      required:
        - action
        - reason
      title: AnnouncementAccessAllowedRep
    AnnouncementAccessRep:
      type: object
      properties:
        denied:
          type: array
          items:
            $ref: '#/components/schemas/AnnouncementAccessDenied'
        allowed:
          type: array
          items:
            $ref: '#/components/schemas/AnnouncementAccessAllowedRep'
      required:
        - denied
        - allowed
      title: AnnouncementAccessRep
    AnnouncementLink:
      type: object
      properties:
        href:
          type: string
        type:
          type: string
      title: AnnouncementLink
    AnnouncementResponse__links:
      type: object
      properties:
        parent:
          $ref: '#/components/schemas/AnnouncementLink'
      required:
        - parent
      title: AnnouncementResponse__links
    AnnouncementResponse:
      type: object
      properties:
        _id:
          type: string
          description: The ID of the announcement
        isDismissible:
          type: boolean
          description: true if the announcement is dismissible
        title:
          type: string
          description: The title of the announcement
        message:
          type: string
          description: The message of the announcement
        startTime:
          type: integer
          format: int64
          description: >-
            The start time of the announcement. This is a Unix timestamp in
            milliseconds.
        endTime:
          type: integer
          format: int64
          description: >-
            The end time of the announcement. This is a Unix timestamp in
            milliseconds.
        severity:
          $ref: '#/components/schemas/AnnouncementResponseSeverity'
          description: The severity of the announcement
        _status:
          $ref: '#/components/schemas/AnnouncementResponseStatus'
          description: The status of the announcement
        _access:
          $ref: '#/components/schemas/AnnouncementAccessRep'
        _links:
          $ref: '#/components/schemas/AnnouncementResponse__links'
      required:
        - _id
        - isDismissible
        - title
        - message
        - startTime
        - severity
        - _status
        - _links
      description: Announcement response
      title: AnnouncementResponse
    AnnouncementPaginatedLinks:
      type: object
      properties:
        first:
          $ref: '#/components/schemas/AnnouncementLink'
        last:
          $ref: '#/components/schemas/AnnouncementLink'
        next:
          $ref: '#/components/schemas/AnnouncementLink'
        prev:
          $ref: '#/components/schemas/AnnouncementLink'
        self:
          $ref: '#/components/schemas/AnnouncementLink'
      required:
        - self
      title: AnnouncementPaginatedLinks
    getAnnouncementsPublic_200_response:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/AnnouncementResponse'
        _links:
          $ref: '#/components/schemas/AnnouncementPaginatedLinks'
      required:
        - items
        - _links
      title: getAnnouncementsPublic_200_response
    Error:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
      required:
        - message
        - code
      title: Error
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: Authorization

```

## SDK Code Examples

```python
import requests

url = "https://app.launchdarkly.com/api/v2/announcements"

querystring = {"status":"active"}

headers = {"Authorization": "<apiKey>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript
const url = 'https://app.launchdarkly.com/api/v2/announcements?status=active';
const options = {method: 'GET', headers: {Authorization: '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://app.launchdarkly.com/api/v2/announcements?status=active"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://app.launchdarkly.com/api/v2/announcements?status=active")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://app.launchdarkly.com/api/v2/announcements?status=active")
  .header("Authorization", "<apiKey>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://app.launchdarkly.com/api/v2/announcements?status=active', [
  'headers' => [
    'Authorization' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://app.launchdarkly.com/api/v2/announcements?status=active");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://app.launchdarkly.com/api/v2/announcements?status=active")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```