AccuLynx Subscriptions API

Subscription related endpoints

Business capability
Webhook & Event Subscription Management BC-4270.80

Operations 6

GET /subscriptions Get subscriptions #
POST /subscriptions Create Subscription #
GET /subscriptions/{subscriptionId} Get subscription #
PUT /subscriptions/{subscriptionId} Update subscription by id #
DELETE /subscriptions/{subscriptionId} Delete subscription by id #
POST /subscriptions/{subscriptionId}/test-event Send a test event #

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/acculynx:acculynx-subscriptions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

acculynx-subscriptions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'If you are experiencing issues integrating with this API, please work with your web developer to review your programming before reaching out to us with an issue as we do not provide web development consulting services.


    The AccuLynx Webhooks API provides customers programmatic access to manage their webhooks subscriptions.


    The base url for these endpoints: is **https://api.acculynx.com/webhooks/v2**


    # Authentication Requirements

    - All API endpoints require a valid API key

    - Provide your API key in the `Authorization` header as a Bearer token


    # Testing Options


    ## Real API Testing

    - Requires valid API key authentication

    - Interacts with live production data

    - Get your API key from your AccuLynx API page


    To authenticate:

    1. Select the ''api.acculynx.com'' server from the Servers list box

    2. Click the green Authorize button next to the Servers list box

    3. Enter your API key as a Bearer token when prompted

    4. Click Authorize again to complete authentication'
  version: 2.2607.0
  title: Webhooks Subscriptions API
  contact:
    url: https://apidocs.acculynx.com/docs/contact-us
  license:
    name: Proprietary
    url: https://my.acculynx.com/signin/TermsView
servers:
- description: AccuLynx API
  url: https://api.acculynx.com/webhooks/v2
security:
- bearerAuth: []
tags:
- name: Subscriptions
  description: Subscription related endpoints
paths:
  /subscriptions:
    get:
      tags:
      - Subscriptions
      summary: Get subscriptions
      operationId: getSubscriptions
      description: 'Retrieves all webhook subscriptions for your company. This endpoint returns a paginated list of webhook subscriptions, including:

        - Subscription status (enabled/disabled)

        - Consumer URLs where webhook events are sent

        - Technical contact information

        - Topics each subscription is listening for.

        - Integration type of the current subscription.


        Use the pagination parameters to control the number of results returned.

        Use the subscription status filter to narrow results by subscription state.'
      parameters:
      - $ref: '#/components/parameters/pageSizeQuery'
      - $ref: '#/components/parameters/pageStartIndexQuery'
      - $ref: '#/components/parameters/subscriptionStatusQuery'
      responses:
        '200':
          description: A paged list of subscriptions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/subscriptionCollection'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '416':
          $ref: '#/components/responses/416RangeNotSatisfiable'
    post:
      summary: Create Subscription
      operationId: postSubscription
      description: 'Creates a new webhook subscription for your company.


        You must provide:

        - A valid consumer URL where webhook events will be sent

        - A technical contact email for notifications about the subscription

        - At least one topic name to subscribe to

        - An integration type that indicates the purpose of the subscription

        Upon successful creation, you''ll receive a subscription ID that you can use to manage this subscription.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/subscriptionBodyPost'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/subscriptionPostResponseOk'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '412':
          $ref: '#/components/responses/412PreconditionFailed'
      tags:
      - Subscriptions
  /subscriptions/{subscriptionId}:
    get:
      tags:
      - Subscriptions
      summary: Get subscription
      operationId: getSubscription
      parameters:
      - $ref: '#/components/parameters/subscriptionIdPath'
      description: 'Retrieves detailed information about a specific subscription.


        This endpoint returns comprehensive details about the requested subscription:

        - Creation and last modification dates

        - Consumer URL where webhook events are sent

        - Technical contact information

        - Current status (enabled/disabled)

        - List of topics this subscription is listening for

        - Integration type of the current subscription


        Use this endpoint when you need to check the configuration of a specific subscription.'
      responses:
        '200':
          description: The given subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/subscription'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '404':
          $ref: '#/components/responses/404NotFound'
    put:
      summary: Update subscription by id
      operationId: updateSubscription
      description: 'Updates an existing subscription.


        You can modify:

        - The technical contact email address

        - The list of topics this subscription is listening for


        Note that you cannot update the consumer URL after creation. If you need to change the URL,

        you must delete this subscription and create a new one.'
      parameters:
      - $ref: '#/components/parameters/subscriptionIdPath'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/subscriptionBodyPut'
      responses:
        '204':
          description: The resource was updated successfully.
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '404':
          $ref: '#/components/responses/404NotFound'
        '412':
          $ref: '#/components/responses/412PreconditionFailed'
      tags:
      - Subscriptions
    delete:
      summary: Delete subscription by id
      operationId: deleteSubscription
      parameters:
      - $ref: '#/components/parameters/subscriptionIdPath'
      description: 'Permanently deletes a subscription.


        Once deleted:

        - The subscription will no longer receive any webhook events

        - The subscription cannot be recovered

        - Any new events for the topics it was listening to will not be sent


        Use this endpoint when you no longer need a particular webhook subscription.'
      responses:
        '204':
          description: The resource was deleted successfully.
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '404':
          $ref: '#/components/responses/404NotFound'
      tags:
      - Subscriptions
  /subscriptions/{subscriptionId}/test-event:
    post:
      summary: Send a test event
      operationId: postSendTestEvent
      description: 'Sends a test event to your webhook endpoint.


        This is extremely useful for:

        - Verifying your webhook receiver is properly configured

        - Testing your event handling logic

        - Confirming connectivity between AccuLynx and your systems


        You must specify a valid topic name in the request body. The test event will be sent to the

        consumer URL associated with this subscription, regardless of whether the subscription is

        actually listening for that specific topic.'
      parameters:
      - $ref: '#/components/parameters/subscriptionIdPath'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/testEventBodyPost'
      responses:
        '202':
          description: Ok
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '404':
          $ref: '#/components/responses/404NotFound'
      tags:
      - Subscriptions
components:
  schemas:
    subscriptionPostResponseOk:
      description: 'Response returned when a subscription is successfully created.

        '
      properties:
        subscriptionId:
          description: 'The unique identifier for the newly created subscription.

            Use this ID for all future operations on this subscription.

            '
          examples:
          - 1b9b1f4e-30e1-4918-99c2-aecd236ccd94
          format: uuid
          type: string
      type: object
    testEventBodyPost:
      properties:
        topicName:
          description: 'The topic name to use for the test event. - Must be a valid topic name (use GET /topics to see available topics) - The test event will be sent regardless of whether this topic is in your subscription - The payload will be a sample representation of this event type

            '
          examples:
          - job_created
          type: string
      required:
      - topicName
      type: object
    topicNamesCollection:
      description: 'A collection of topic names to subscribe to.

        - Must contain at least one valid topic name

        - Each topic name must be a string matching an available topic

        - Use GET /topics to retrieve the list of available topics

        '
      examples:
      - - milestone-change
      items:
        type: string
      type: array
    baseCollection:
      description: 'Base structure for all paginated collection responses.

        This provides consistent pagination metadata across all collection endpoints.

        '
      properties:
        count:
          description: 'The total number of items available across all pages.

            Use this to calculate the total number of pages available.

            '
          type: integer
        pageSize:
          description: 'The number of items per page in this response.

            This reflects either your requested page size or the default value.

            '
          type: integer
        pageStartIndex:
          description: 'The starting index of this page of results.

            Use with pageSize to track your position in the overall result set.

            '
          type: integer
      type: object
    subscription:
      allOf:
      - $ref: '#/components/schemas/subscriptionLink'
      - description: 'Complete subscription details.

          Contains all information about a webhook subscription including its configuration and status.

          '
        properties:
          consumerUrl:
            description: 'The URL where webhook events are sent for this subscription.

              All webhook events will be sent as POST requests to this URL.

              '
            examples:
            - https://www.your-domain.com/webhooks
            type: string
          createdDate:
            description: 'The date and time when this subscription was created.

              Always provided in UTC format.

              '
            format: date-time
            type: string
          modifiedDate:
            description: 'The date and time when this subscription was last modified.

              Always provided in UTC format.

              Updates when any subscription property changes.

              '
            format: date-time
            type: string
          status:
            description: 'The current status of the subscription. - enabled: The subscription is active and will receive webhook events - disabled: The subscription is inactive and will not receive webhook events

              '
            enum:
            - enabled
            - disabled
            type: string
          tech_contact:
            description: 'The technical contact email address for this subscription.

              AccuLynx will use this email to communicate important information about the subscription.

              '
            examples:
            - support@your-company.com
            format: email
            type: string
          topicNames:
            description: 'List of event topics this subscription is listening for.

              Only events matching these topic names will be sent to the consumer URL.

              '
            examples:
            - - milestone-changed
            items:
              type: string
            minItems: 1
            type: array
            uniqueItems: true
          integrationType:
            description: 'The current integration type of the subscription.

              '
            enum:
            - Api
            - Zapier
            type: string
        type: object
    subscriptionCollection:
      allOf:
      - $ref: '#/components/schemas/baseCollection'
      - description: 'A paginated collection of webhook subscriptions.

          Contains both pagination metadata and the list of subscriptions.

          '
        properties:
          items:
            description: 'The list of subscription objects for this page of results.

              Each item contains complete subscription details.

              '
            items:
              $ref: '#/components/schemas/subscription'
            type: array
        type: object
    subscriptionBodyPost:
      properties:
        consumerUrl:
          description: 'The URL where webhook events will be sent.

            - Must be a valid, publicly accessible HTTPS URL

            - Must respond to POST requests

            - Cannot be changed after subscription creation

            '
          examples:
          - https://www.your-domain.com/webhooks
          format: uri
          type: string
        techContact:
          description: 'Email address for technical contact.

            - Used for notifications about subscription status changes

            - Used for troubleshooting communication

            - Should be monitored regularly

            '
          examples:
          - some-name@some-domain.com
          format: email
          type: string
        topicNames:
          $ref: '#/components/schemas/topicNamesCollection'
        integrationType:
          description: Type that indicates the purpose of the subscription. If nothing is specified, integration type will be Api by default.
          type: string
          enum:
          - Api
          examples:
          - Api
      required:
      - consumerUrl
      - techContact
      - topicNames
      type: object
    error:
      description: 'Standard error response structure.

        All API errors follow this consistent format to simplify error handling in your application.

        '
      properties:
        detail:
          description: 'A human-readable explanation specific to this occurrence of the problem.

            This provides additional details to help resolve this specific error instance.

            '
          examples:
          - More info about this error.
          - Validation failed for requested operation
          type: string
        status:
          description: 'The HTTP status code for this occurrence of the problem.

            This will match the HTTP response status code.

            '
          examples:
          - 400
          type: number
        title:
          description: 'A short, human-readable summary of the problem.

            This should not change from occurrence to occurrence of the same error.

            '
          examples:
          - This error happened.
          type: string
        traceId:
          description: 'A unique identifier for this error occurrence.

            Include this ID when contacting AccuLynx support about an error.

            '
          examples:
          - 40f2a8f1-4db865dd47a69226
          type: string
        type:
          description: 'A URI reference that identifies the problem type.

            This provides a machine-readable identifier for the error category.

            '
          examples:
          - https://tools.ietf.org/html/rfc7235#section-3.1
          type: string
      required:
      - type
      - title
      - status
      type: object
    subscriptionBodyPut:
      properties:
        technicalContact:
          description: 'Updated email address for technical contact.

            - Used for notifications about subscription status changes

            - Used for troubleshooting communication

            - Should be monitored regularly

            '
          format: email
          type: string
        topicNames:
          $ref: '#/components/schemas/topicNamesCollection'
          description: 'Updated list of topic names to subscribe to.

            - Must contain at least one valid topic name

            - Replaces the entire existing list of topics

            - Only events for these topics will be sent to your webhook

            '
      type: object
    subscriptionLink:
      description: 'Basic subscription reference information.

        Contains identifiers that can be used to reference a specific subscription.

        '
      properties:
        _link:
          description: 'The full URI that can be used to access this subscription.

            This is a convenience to avoid having to construct the URL yourself.

            '
          examples:
          - https://api.acculynx.com/webhooks/v2/subscriptions/b8270e49-f71d-4b49-aa0a-68bc75090ab5
          type: string
          format: uri
        id:
          description: 'The unique identifier of the subscription.

            Use this ID in path parameters when working with specific subscriptions.

            '
          examples:
          - 01a7cfc1-2231-4589-9657-7f3004c06bd3
          format: uuid
          type: string
      type: object
  responses:
    412PreconditionFailed:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: 'Precondition Failed - The request cannot be completed due to failed preconditions.

        Common causes:

        - Attempting to update a subscription with invalid topic names

        - Trying to create a subscription with an invalid URL

        - Validation errors specific to the operation

        '
    416RangeNotSatisfiable:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: 'Range Not Satisfiable - The requested page of results is not available.

        Common causes:

        - pageStartIndex is beyond the available data range

        - Invalid pagination parameters

        '
    404NotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: 'Not Found - The requested resource does not exist.

        Common causes:

        - Invalid subscription ID

        - Subscription has been deleted

        - URL path contains typos or incorrect values

        '
    400BadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: 'Bad Request - The server cannot process the request due to a client error.

        Common causes:

        - Invalid request format

        - Missing required fields

        - Validation errors in the request data

        '
    401Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: 'Unauthorized - Authentication is required or has failed.

        Common causes:

        - Missing API key

        - Invalid API key

        - Expired or deactivated API key

        '
  parameters:
    subscriptionStatusQuery:
      description: "Filters subscriptions by their current status. \n\nAllowed values:\n- All: Returns all subscriptions regardless of status (default)\n- Active: Returns only active subscriptions\n- Inactive: Returns only inactive subscriptions\n\nWhen omitted, defaults to \"All\" and returns all subscriptions.\n"
      in: query
      name: subscriptionStatusQueryFilter
      required: false
      schema:
        type: string
        enum:
        - All
        - Active
        - Inactive
        default: All
        examples:
        - Active
        - Inactive
        description: Status filter for subscription queries
    pageSizeQuery:
      description: 'Controls how many items are returned per page in paginated responses.

        - Default: 25 items per page if not specified

        - Minimum: 1 item per page

        - Use with pageStartIndex for navigating through large result sets

        '
      in: query
      name: pageSize
      required: false
      schema:
        default: 25
        minimum: 1
        type: integer
    pageStartIndexQuery:
      description: 'Specifies the starting position for paginated results.

        - Default: 0 (first page) if not specified

        - Minimum: 0

        - Example: pageStartIndex=25 with pageSize=25 returns the second page of results

        '
      in: query
      name: pageStartIndex
      required: false
      schema:
        default: 0
        minimum: 0
        type: integer
    subscriptionIdPath:
      description: 'The unique identifier (UUID) of the subscription you want to interact with.

        This ID is returned when you create a subscription and can be retrieved from the GET /subscriptions endpoint.

        '
      in: path
      name: subscriptionId
      required: true
      schema:
        format: uuid
        type: string
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
x-provenance:
  method: searched
  source: https://apidocs.acculynx.com/reference
  harvested: '2026-10-28'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://apidocs.acculynx.com/reference/deletesubscription.md
  - https://apidocs.acculynx.com/reference/getsubscription.md
  - https://apidocs.acculynx.com/reference/getsubscriptions.md
  - https://apidocs.acculynx.com/reference/gettopics.md
  - https://apidocs.acculynx.com/reference/postsendtestevent.md
  - https://apidocs.acculynx.com/reference/postsubscription.md
  - https://apidocs.acculynx.com/reference/updatesubscription.md
  merge:
    pages: 7
    deduped: 569
    conflicts_kept_first: 0