Zylo Applications API

Applications represent SaaS software products tracked within the Zylo platform, including metadata such as owner, category, and custom fields.

OpenAPI Specification

zylo-applications-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Zylo Enterprise Applications API
  description: The Zylo Enterprise API provides a modern, RESTful API to work with your SaaS subscription data. The API is built using resource-oriented URLs that are protected by HTTPS transport security and authenticated via secure tokens. It enables the export of SaaS usage and subscription data to reporting tools outside of Zylo, as well as the import of additional unintegrated usage data.
  version: 1.0.0
  contact:
    name: Zylo
    url: https://zylo.com/contact/
  license:
    name: Proprietary
    url: https://zylo.com/msa/
  termsOfService: https://zylo.com/msa/
servers:
- url: https://api.zylo.com/v1
  description: Zylo Enterprise API v1
security:
- bearerAuth: []
tags:
- name: Applications
  description: Applications represent SaaS software products tracked within the Zylo platform, including metadata such as owner, category, and custom fields.
paths:
  /applications:
    get:
      operationId: listApplications
      summary: Zylo List applications
      description: Retrieves a paginated list of applications tracked in your Zylo account. Applications represent SaaS products and include metadata such as category, owner, and custom fields.
      tags:
      - Applications
      parameters:
      - name: pageSize
        in: query
        description: The maximum number of results to return per page.
        schema:
          type: integer
          default: 25
      - name: pageToken
        in: query
        description: A token returned from a previous list request to retrieve the next page of results.
        schema:
          type: string
      - name: custom_fields
        in: query
        description: Filter applications by custom field values. Uses bracket notation such as custom_fields[boolean]=true.
        schema:
          type: object
          additionalProperties:
            type: string
        style: deepObject
        explode: true
      responses:
        '200':
          description: A paginated list of applications.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationListResponse'
        '401':
          description: Unauthorized. Invalid or missing authentication token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /applications/{applicationId}:
    get:
      operationId: getApplication
      summary: Zylo Get an application
      description: Retrieves details for a specific application by its ID.
      tags:
      - Applications
      parameters:
      - name: applicationId
        in: path
        required: true
        description: The unique identifier of the application.
        schema:
          type: string
      responses:
        '200':
          description: The application details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
        '401':
          description: Unauthorized. Invalid or missing authentication token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Application not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      operationId: updateApplication
      summary: Zylo Update an application
      description: Updates properties of a specific application, including custom fields and the true_up property.
      tags:
      - Applications
      parameters:
      - name: applicationId
        in: path
        required: true
        description: The unique identifier of the application.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationUpdate'
      responses:
        '200':
          description: The updated application details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
        '401':
          description: Unauthorized. Invalid or missing authentication token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Application not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Application:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the application.
        name:
          type: string
          description: The display name of the application.
        category:
          type: string
          description: The category of the application.
        owner:
          type: string
          description: The owner of the application.
        status:
          type: string
          description: The current status of the application.
          enum:
          - active
          - inactive
          - under_review
        trueUp:
          type: boolean
          description: Whether the application is marked for true-up.
        totalSpend:
          type: number
          format: double
          description: The total spend on this application.
        subscriptionCount:
          type: integer
          description: The number of subscriptions for this application.
        createdAt:
          type: string
          format: date-time
          description: The date and time the application was created.
        updatedAt:
          type: string
          format: date-time
          description: The date and time the application was last updated.
        customFields:
          type: object
          additionalProperties: true
          description: Custom fields associated with the application.
    Error:
      type: object
      properties:
        code:
          type: integer
          description: The HTTP status code.
        message:
          type: string
          description: A human-readable error message.
        details:
          type: string
          description: Additional details about the error.
    ApplicationListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Application'
        nextPageToken:
          type: string
          description: A token that can be passed as a pageToken query parameter to retrieve the next page of results.
        totalCount:
          type: integer
          description: The total number of applications.
    ApplicationUpdate:
      type: object
      properties:
        owner:
          type: string
          description: The owner of the application.
        category:
          type: string
          description: The category of the application.
        trueUp:
          type: boolean
          description: Whether the application is marked for true-up.
        customFields:
          type: object
          additionalProperties: true
          description: Custom fields to update on the application.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication using your Token ID and Token Secret separated by a colon (TOKENID:TOKENSECRET). Tokens can be created in the Zylo Admin panel under Company Tokens.