> ## Documentation Index
> Fetch the complete documentation index at: https://staging-docs.orderly.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Get announcement details

> **Limit: 10 requests per 1 second per IP address**

Returns one published announcement with its translated titles and content. Provide exactly one of `announcement_id` or `slug`.

When looking up by ID, omit `broker_id` for official announcements or supply it to search official and builder announcements.

When looking up by slug, set `is_official=true` to search official announcements, or provide `broker_id` to search only that builder's announcements. A slug is unique within its source.

The response includes `message` and `i18n` for backward compatibility. For new integrations, read the title and content from `translations` and use `translations.en` for both if the requested language is unavailable.

A lookup with no matching published announcement returns HTTP 400 with `RESOURCE_NOT_FOUND` (code `-1006`).



## OpenAPI

````yaml orderly.openapi get /v2/public/announcement/detail
openapi: 3.0.1
info:
  title: EVM
  description: ''
  version: 1.0.0
servers:
  - url: https://api.orderly.org
    description: Mainnet
  - url: https://testnet-api.orderly.org
    description: Testnet
security: []
tags:
  - name: public
  - name: private
paths:
  /v2/public/announcement/detail:
    get:
      tags:
        - public
      summary: Get announcement details
      description: >-
        **Limit: 10 requests per 1 second per IP address**


        Returns one published announcement with its translated titles and
        content. Provide exactly one of `announcement_id` or `slug`.


        When looking up by ID, omit `broker_id` for official announcements or
        supply it to search official and builder announcements.


        When looking up by slug, set `is_official=true` to search official
        announcements, or provide `broker_id` to search only that builder's
        announcements. A slug is unique within its source.


        The response includes `message` and `i18n` for backward compatibility.
        For new integrations, read the title and content from `translations` and
        use `translations.en` for both if the requested language is unavailable.


        A lookup with no matching published announcement returns HTTP 400 with
        `RESOURCE_NOT_FOUND` (code `-1006`).
      parameters:
        - name: announcement_id
          in: query
          description: Announcement ID. Provide either this parameter or slug.
          schema:
            type: integer
            format: int64
        - name: slug
          in: query
          description: >-
            Announcement slug. Leading and trailing whitespace is trimmed.
            Provide either this parameter or announcement_id.
          schema:
            type: string
        - name: is_official
          in: query
          description: >-
            When looking up by slug, set to true to search official
            announcements. In this case, broker_id is ignored. This parameter
            has no effect on ID lookups.
          schema:
            type: boolean
            default: false
        - name: broker_id
          in: query
          description: >-
            Optional for ID lookups. Required for slug lookups unless
            is_official is true.
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAnnouncementDetailsResponse'
              examples:
                success:
                  summary: Published announcement details (illustrative)
                  value:
                    success: true
                    timestamp: 1789430400000
                    data:
                      announcement_id: 12345
                      message: New perpetual market listing
                      url: null
                      i18n:
                        zh: 新永續合約市場上架
                        es: null
                        fr: null
                        jp: null
                        ko: null
                      type: LISTING
                      updated_time: 1789426800000
                      is_official: true
                      category: LISTINGS
                      slug: new-perpetual-market-listing
                      published_time: 1789426800000
                      notification_card_end_time: 1789513200000
                      translations:
                        en:
                          title: New perpetual market listing
                          content: A new perpetual market is now available.
                        zh:
                          title: 新永續合約市場上架
                          content: 新的永續合約市場現已開放交易。
        '400':
          description: >-
            INVALID_PARAM (-1005) for missing, conflicting, or invalid lookup
            parameters. RESOURCE_NOT_FOUND (-1006) when no published
            announcement matches the lookup in the requested scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnnouncementQueryError'
              examples:
                invalidLookup:
                  summary: Missing lookup parameter
                  value:
                    success: false
                    code: -1005
                    message: announcement_id or slug is required
                notFound:
                  summary: Announcement not found
                  value:
                    success: false
                    code: -1006
                    message: announcement not found
      security: []
components:
  schemas:
    GetAnnouncementDetailsResponse:
      allOf:
        - $ref: '#/components/schemas/AnnouncementResponseBase'
        - type: object
          required:
            - data
          properties:
            data:
              $ref: '#/components/schemas/AnnouncementWithContent'
    AnnouncementQueryError:
      type: object
      required:
        - success
        - code
        - message
      properties:
        success:
          type: boolean
          example: false
        code:
          type: integer
          example: -1005
        message:
          type: string
          example: category is invalid
    AnnouncementResponseBase:
      allOf:
        - $ref: '#/components/schemas/BasicResponse'
        - type: object
          required:
            - timestamp
          properties:
            timestamp:
              description: >-
                Time the response was generated, as a Unix timestamp in
                milliseconds.
              type: integer
              format: int64
    AnnouncementWithContent:
      allOf:
        - $ref: '#/components/schemas/AnnouncementSummaryFields'
        - type: object
          required:
            - translations
          properties:
            translations:
              type: object
              description: >-
                Titles and content. English is always included. Other complete
                locales may include zh, es, fr, ja, and ko. The active cards
                endpoint can limit these with the locale query parameter.
              required:
                - en
              properties:
                en:
                  $ref: '#/components/schemas/AnnouncementContentTranslation'
              additionalProperties:
                $ref: '#/components/schemas/AnnouncementContentTranslation'
    BasicResponse:
      required:
        - success
      type: object
      properties:
        success:
          description: Indicates whether the request was successful.
          type: boolean
          example: true
        timestamp:
          description: Server timestamp in milliseconds.
          type: integer
          example: 1702989203989
    AnnouncementSummaryFields:
      type: object
      required:
        - announcement_id
        - message
        - url
        - i18n
        - type
        - updated_time
        - is_official
        - category
        - slug
        - published_time
        - notification_card_end_time
      properties:
        announcement_id:
          description: Unique announcement ID.
          type: integer
          format: int64
        message:
          description: English title in the legacy response format.
          type: string
        url:
          description: Legacy destination link. The v2 response returns null.
          type: string
          nullable: true
        i18n:
          description: >-
            Legacy translated titles. Unavailable translations are null. The
            Japanese key is jp.
          type: object
          additionalProperties: false
          required:
            - zh
            - es
            - fr
            - jp
            - ko
          properties:
            zh:
              type: string
              nullable: true
              description: Chinese translation.
            es:
              type: string
              nullable: true
              description: Spanish translation.
            fr:
              type: string
              nullable: true
              description: French translation.
            jp:
              type: string
              nullable: true
              description: Japanese translation.
            ko:
              type: string
              nullable: true
              description: Korean translation.
        type:
          description: >-
            Legacy category. LISTINGS maps to LISTING and DELISTINGS maps to
            DELISTING. Other categories use their category value.
          type: string
          enum:
            - CAMPAIGN
            - LISTING
            - DELISTING
            - UPDATES
            - LEGAL
            - OTHERS
          example: LISTING
        updated_time:
          description: Last update time, as a Unix timestamp in milliseconds.
          type: integer
          format: int64
        is_official:
          description: >-
            True for an official Orderly announcement and false for a builder
            announcement.
          type: boolean
        category:
          $ref: '#/components/schemas/AnnouncementCategory'
        slug:
          description: >-
            Stable URL identifier after publication. Unique within the official
            source or a single builder.
          type: string
        published_time:
          description: Publication time, as a Unix timestamp in milliseconds.
          type: integer
          format: int64
        notification_card_end_time:
          description: >-
            Notification card display deadline, as a Unix timestamp in
            milliseconds. Null means there is no card deadline. The deadline
            controls card eligibility.
          type: integer
          format: int64
          nullable: true
    AnnouncementContentTranslation:
      allOf:
        - $ref: '#/components/schemas/AnnouncementTitleTranslation'
        - type: object
          required:
            - content
          properties:
            content:
              description: Localized announcement content in Markdown.
              type: string
    AnnouncementCategory:
      type: string
      enum:
        - CAMPAIGN
        - LISTINGS
        - DELISTINGS
        - UPDATES
        - LEGAL
        - OTHERS
      description: Announcement category.
      example: LISTINGS
    AnnouncementTitleTranslation:
      type: object
      required:
        - title
      properties:
        title:
          description: Localized announcement title.
          type: string

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.