> ## Documentation Index
> Fetch the complete documentation index at: https://developers.pleo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get subscriptions

> Retrieves a list of subscriptions for the specific event types (registered for the specific company or organisation by the third party application).



## OpenAPI

````yaml get /v1/subscriptions
openapi: 3.0.1
info:
  title: Webhook Subscriptions API
  description: Webhook Subscriptions definitions
  termsOfService: https://pleo.io/terms/
  contact:
    email: partner-ecosystem-team@pleo.io
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: 11.7.0
servers:
  - url: https://external.pleo.io
    description: Production server
  - url: https://external.staging.pleo.io
    description: Staging server
security:
  - bearerAuth: []
  - basicAuth: []
tags:
  - name: Webhook Subscriptions
    description: >-
      The Webhooks functionality sends real-time event notifications to
      third-party integrations. To receive notifications, you must register for
      webhook subscriptions. This API enables you to perform CRUD (Create, Read,
      Update, and Delete) subscription operations.
  - name: Event Types
  - name: Subscriptions
paths:
  /v1/subscriptions:
    get:
      tags:
        - Subscriptions
      summary: Get subscriptions
      description: >-
        Retrieves a list of subscriptions for the specific event types
        (registered for the specific company or organisation by the third party
        application).
      operationId: getSubscriptions
      parameters:
        - name: status
          in: query
          description: >-
            Filters subscriptions by status. If the value is null, all
            subscriptions for the specific event types (registered for the
            specific company or organisation by the third party application) are
            returned.
          required: false
          style: form
          explode: true
          schema:
            type: string
          example: ACTIVE
        - name: event_types
          in: query
          description: >-
            Filters subscriptions by versioned event types.  If the value is
            null, all subscriptions for the specific event types (registered for
            the specific company or organisation by the third party application)
            are returned.
          required: false
          style: form
          explode: true
          schema:
            uniqueItems: true
            type: array
            items:
              type: string
          example: v1.export-job.created
        - name: before
          in: query
          description: >-
            Lower bound of the page of data to return (cannot be used together
            with [after] or [offset]).
          required: false
          style: form
          explode: true
          schema:
            pattern: ^[A-Z2-7=~]+$
            type: string
        - name: after
          in: query
          description: >-
            Upper bound of the page of data to return (cannot be used together
            with [before] or [offset]).
          required: false
          style: form
          explode: true
          schema:
            pattern: ^[A-Z2-7=~]+$
            type: string
        - name: offset
          in: query
          description: >-
            Offset of the page of data to return (cannot be used together with
            [before] or [after]).
          required: false
          style: form
          explode: true
          schema:
            minimum: 0
            type: integer
            format: int64
        - name: limit
          in: query
          description: The maximum amount of items to return.
          required: false
          style: form
          explode: true
          schema:
            minimum: 0
            type: integer
            format: int32
        - name: sorting_keys
          in: query
          description: The keys to sort the results by.
          required: false
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: sorting_order
          in: query
          description: >-
            The order to sort the results by. Must be the same length as
            [sortingKeys]; one order per key.
          required: false
          style: form
          explode: true
          schema:
            type: array
            items:
              $ref: '#/components/schemas/PageOrder'
      responses:
        '200':
          description: Returns list of subscriptions.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/CursorPaginatedResponseSubscriptionModel'
        '400':
          description: Bad request
        '500':
          description: >-
            Cannot retrieve list of subscriptions due to infrastructure issue
            Please try after some time. If the problem persists, reach out to
            Pleo customer support.
components:
  schemas:
    PageOrder:
      type: string
      enum:
        - ASC
        - ASC_NULLS_FIRST
        - ASC_NULLS_LAST
        - DESC
        - DESC_NULLS_FIRST
        - DESC_NULLS_LAST
    CursorPaginatedResponseSubscriptionModel:
      required:
        - data
        - pagination
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionModel'
        pagination:
          $ref: '#/components/schemas/CursorPageInfo'
    SubscriptionModel:
      required:
        - createdAt
        - endpointUrl
        - eventTypes
        - id
        - status
        - updatedAt
      type: object
      properties:
        createdAt:
          type: string
          description: The time when the subscription was created
          format: date-time
          readOnly: true
          example: '2022-01-01T00:00:00Z'
        customHeaders:
          type: object
          additionalProperties:
            type: string
            description: Key values as headers to be sent to the webhooks vendor
            example: '{"user":"pass"}'
          description: Key values as headers to be sent to the webhooks vendor
          example:
            user: pass
        deletedAt:
          type: string
          description: The time when the subscription was deleted
          format: date-time
          readOnly: true
          example: '2022-01-01T00:00:00Z'
        deletedBy:
          type: string
          description: The identifier of the user who deleted the subscription
          readOnly: true
          example: urn:pleo:organisation:12345678-1234-1234-1234-123456789012
        endpointAuth:
          $ref: '#/components/schemas/EndpointAuth'
        endpointUrl:
          type: string
          description: The URL where the events should be sent
          readOnly: true
          example: https://example.com/webhook
        eventTypes:
          uniqueItems: true
          type: array
          description: The type of the event
          readOnly: true
          example: v1.export-job.created
          items:
            type: string
            description: The type of the event
            readOnly: true
            example: v1.export-job.created
        id:
          type: string
          description: The unique identifier of the subscription
          format: uuid
          readOnly: true
          example: 123e4567-e89b-12d3-a456-426614174000
        status:
          type: string
          description: The status of the subscription
          example: ACTIVE
          enum:
            - INACTIVE
            - ACTIVE
        updatedAt:
          type: string
          description: The last time the subscription was updated
          format: date-time
          readOnly: true
          example: '2022-01-10T00:00:00Z'
    CursorPageInfo:
      required:
        - currentRequestPagination
        - hasNextPage
        - hasPreviousPage
      type: object
      properties:
        currentRequestPagination:
          $ref: '#/components/schemas/CursorPageCurrentRequestInfo'
        endCursor:
          type: string
        hasNextPage:
          type: boolean
        hasPreviousPage:
          type: boolean
        startCursor:
          type: string
        total:
          type: integer
          format: int64
    EndpointAuth:
      type: object
      properties:
        credentials:
          $ref: '#/components/schemas/AuthCredential'
        type:
          type: string
          description: Authentication type for the endpoint. Default is NONE
          example: NONE
          enum:
            - NONE
            - BASIC
      description: Authentication details for the endpoint
    CursorPageCurrentRequestInfo:
      required:
        - parameters
      type: object
      properties:
        after:
          type: string
        before:
          type: string
        limit:
          type: integer
          format: int32
        offset:
          type: integer
          format: int64
        parameters:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        sortingKeys:
          type: array
          items:
            type: string
        sortingOrder:
          type: array
          items:
            $ref: '#/components/schemas/PageOrder'
    AuthCredential:
      type: object
      properties:
        password:
          type: string
          description: Password for basic authentication
          example: password
        token:
          type: string
          description: Token for bearer authentication
          example: token
        username:
          type: string
          description: Username for basic authentication
          example: username
      description: Authentication credentials
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        JWT Bearer token authentication. Include the token in the Authorization
        header as: `Bearer <token>`
      scheme: bearer
      bearerFormat: JWT
    basicAuth:
      type: http
      description: >-
        Basic HTTP authentication using API key. Use your API key as the
        username and leave the password empty. The credentials will be Base64
        encoded automatically.
      scheme: basic

````