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

# List subscriptions

> Retrieve a list of webhook subscriptions with optional filtering and pagination.



## OpenAPI

````yaml /specs/management.yml get /subscriptions
openapi: 3.0.3
info:
  title: Smartcar Management API
  version: 3.0.0
  description: API for managing Smartcar applications.
servers:
  - url: https://management.api.smartcar.com/v3
security: []
paths:
  /subscriptions:
    get:
      summary: List subscriptions
      description: >-
        Retrieve a list of webhook subscriptions with optional filtering and
        pagination.
      parameters:
        - name: filter[userId]
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: Filter subscriptions by user ID
        - name: filter[webhookId]
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: Filter subscriptions by webhook ID
        - name: filter[vehicleId]
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: Filter subscriptions by vehicle ID
        - name: filter[vehicle.mode]
          in: query
          required: false
          schema:
            type: string
            enum:
              - live
              - simulated
          description: The mode of the vehicle (live or simulated)
        - name: page[number]
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            default: 1
          description: Page number for pagination (JSON:API)
        - name: page[size]
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 25
          description: Number of resources per page (JSON:API)
      responses:
        '200':
          description: Get subscription details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionListResponse'
        '400':
          $ref: '#/components/responses/BadRequest1'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - bearerAuth: []
components:
  schemas:
    WebhookSubscriptionListResponse:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/WebhookSubscriptionResource'
        links:
          $ref: '#/components/schemas/PagingLinks'
        meta:
          $ref: '#/components/schemas/PagingMetaAttributes1'
    WebhookSubscriptionResource:
      type: object
      required:
        - type
        - id
        - attributes
        - meta
        - relationships
      properties:
        type:
          type: string
          enum:
            - subscription
        id:
          type: string
          format: uuid
        attributes:
          $ref: '#/components/schemas/WebhookSubscriptionAttributes'
        meta:
          $ref: '#/components/schemas/ResourceTimestamps'
        links:
          type: object
          properties:
            self:
              type: string
              nullable: true
        relationships:
          $ref: '#/components/schemas/WebhookSubscriptionRelationships'
    PagingLinks:
      type: object
      required:
        - self
        - first
        - last
        - next
        - prev
      properties:
        self:
          type: string
          description: |
            The URL to access the current page of results.
        first:
          type: string
          description: |
            The URL to access the first page of results.
        prev:
          type: string
          nullable: true
          description: |
            The URL to access the previous page of results.
        next:
          type: string
          nullable: true
          description: |
            The URL to access the next page of results.
        last:
          type: string
          description: |
            The URL to access the last page of results.
      example:
        self: /connections?page[number]=1&page[size]=10
        first: /connections?page[number]=1&page[size]=10
        prev: null
        next: /connections?page[number]=2&page[size]=10
        last: /connections?page[number]=5&page[size]=10
    PagingMetaAttributes1:
      type: object
      properties:
        pageNumber:
          type: integer
          description: The current page number
        pageSize:
          type: integer
          description: The number of items per page
        totalCount:
          type: integer
          description: The total number of items available
        orderBy:
          type: string
          description: The field by which the results are ordered
        orderDirection:
          type: string
          description: The direction of the ordering
          enum:
            - ASC
            - DESC
      example:
        pageNumber: 1
        pageSize: 10
        totalCount: 50
    ErrorResponse1:
      type: object
      required:
        - errors
      properties:
        errors:
          type: array
          minItems: 1
          items:
            type: object
            required:
              - status
              - type
              - code
              - title
              - detail
            properties:
              status:
                type: string
              type:
                type: string
              code:
                type: string
              title:
                type: string
              detail:
                type: string
              resolution:
                type: object
                description: >-
                  Optional field providing guidance on how to resolve the error,
                  if applicable. The structure of this object can vary based on
                  the error type and is intended to provide actionable
                  information to clients.
              suggestedUserMessage:
                type: string
                description: >-
                  Optional field providing a user-friendly message that can be
                  displayed to end-users, if applicable. This message is
                  intended to be easily understandable and actionable for users
                  who encounter the error.
              links:
                type: object
                properties:
                  about:
                    type: string
                    format: uri
              meta:
                type: object
                properties:
                  debug:
                    type: object
                    description: >-
                      Debug information for internal use, not intended for
                      clients
                    properties:
                      applicationId:
                        type: string
                        description: The unique identifier for the application
                      requestId:
                        type: string
                        description: The unique identifier for the request
                      origin:
                        type: string
                        description: The origin of the error
                    example:
                      applicationId: app_123abc
                      requestId: req_456def
                      origin: internal.com/path
    WebhookSubscriptionAttributes:
      type: object
      required:
        - vehicle
      properties:
        vehicle:
          $ref: '#/components/schemas/VehicleSummary'
    ResourceTimestamps:
      type: object
      required:
        - createdAt
        - updatedAt
      properties:
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    WebhookSubscriptionRelationships:
      type: object
      required:
        - webhook
        - user
        - vehicle
      properties:
        webhook:
          $ref: '#/components/schemas/ToOneRelationship'
        user:
          $ref: '#/components/schemas/ToOneRelationship'
        vehicle:
          $ref: '#/components/schemas/ToOneRelationship'
    VehicleSummary:
      type: object
      required:
        - make
        - model
        - year
        - mode
      properties:
        make:
          type: string
          example: TESLA
        model:
          type: string
          example: Model 3
        year:
          type: integer
          example: 2023
        mode:
          type: string
          description: The mode of the vehicle
          enum:
            - live
            - simulated
          example: live
        powertrainType:
          type: string
          nullable: true
          example: BEV
    ToOneRelationship:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/ResourceIdentifier'
        links:
          $ref: '#/components/schemas/RelatedLink'
    ResourceIdentifier:
      type: object
      required:
        - type
        - id
      properties:
        type:
          type: string
          example: webhook
        id:
          type: string
          format: uuid
    RelatedLink:
      type: object
      properties:
        related:
          type: string
          description: |
            The URL to access the related resource.
  responses:
    BadRequest1:
      description: 400 Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse1'
          example:
            errors:
              - status: '400'
                type: VALIDATION
                code: BAD_REQUEST
                title: Bad Request
                detail: >-
                  The request could not be understood by the server due to
                  malformed syntax.
                links:
                  about: >-
                    https://smartcar.com/docs/errors/api-errors/v3/validation-errors
    Unauthorized:
      description: 401 Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse1'
          example:
            errors:
              - status: '401'
                type: AUTHENTICATION
                code: UNAUTHORIZED
                title: Unauthorized
                detail: The Authorization token is missing or invalid.
                links:
                  about: >-
                    https://smartcar.com/docs/errors/api-errors/v3/authentication-errors#authentication
    Forbidden:
      description: 403 Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse1'
          example:
            errors:
              - status: '403'
                type: AUTHENTICATION
                code: FORBIDDEN
                title: Forbidden
                detail: You do not have permission to access this resource.
                links:
                  about: >-
                    https://smartcar.com/docs/errors/api-errors/v3/authentication-errors
    InternalError:
      description: 500 Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse1'
          example:
            errors:
              - status: '500'
                type: SERVER
                code: INTERNAL
                title: Internal Server Error
                detail: An unexpected error occurred on the server.
                links:
                  about: https://smartcar.com/docs/errors/api-errors/v3/server-errors
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or opaque
      description: |
        The Authorization header must be provided with a valid bearer token.
        Example: `Authorization: Bearer {token}`

````