Revyl Tags API

The Tags API from Revyl — 5 operation(s) for tags.

Operations 7

GET /api/v1/tests/tags List Tags #
POST /api/v1/tests/tags Create Tag #
POST /api/v1/tests/tags/tests/bulk-sync Bulk Sync Test Tags #
GET /api/v1/tests/tags/tests/{test_id} Get Test Tags #
POST /api/v1/tests/tags/tests/{test_id}/sync Sync Test Tags #
DELETE /api/v1/tests/tags/{tag_id} Delete Tag #
PATCH /api/v1/tests/tags/{tag_id} Update Tag #

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/revyl:revyl-tags-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

revyl-tags-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Revyl API
  title: Revyl Tags API
  version: 1.0.0
servers:
- description: Production
  url: https://backend.revyl.ai
tags:
- name: Tags
paths:
  /api/v1/tests/tags:
    get:
      description: 'Get all tags for the organization with usage counts.

        Sorted by usage count (most used first).'
      operationId: list_tags_api_v1_tests_tags_get
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagListResponse'
          description: Successful Response
      security:
      - HTTPBearer: []
      summary: List Tags
      tags:
      - Tags
    post:
      description: 'Create a new tag using the existing upsert_tag RPC function.

        If tag with same name exists, returns the existing tag.'
      operationId: create_tag_api_v1_tests_tags_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTagRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Tag
      tags:
      - Tags
  /api/v1/tests/tags/tests/bulk-sync:
    post:
      description: 'Bulk sync tags for multiple tests.

        - Adds specified tags to all tests (creates tags if needed)

        - Removes specified tags from all tests


        This is optimized for bulk operations using batch database operations.'
      operationId: bulk_sync_test_tags_api_v1_tests_tags_tests_bulk_sync_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkSyncTagsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkSyncTagsResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Bulk Sync Test Tags
      tags:
      - Tags
  /api/v1/tests/tags/tests/{test_id}:
    get:
      description: Get all tags for a specific test.
      operationId: get_test_tags_api_v1_tests_tags_tests__test_id__get
      parameters:
      - in: path
        name: test_id
        required: true
        schema:
          title: Test Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/TagResponse'
                title: Response Get Test Tags Api V1 Tests Tags Tests  Test Id  Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Test Tags
      tags:
      - Tags
  /api/v1/tests/tags/tests/{test_id}/sync:
    post:
      description: 'Sync tags for a test by name.

        - Creates any tags that don''t exist

        - Associates all provided tags with the test

        - Removes any tags not in the list


        This is the primary endpoint for the seamless tagging UX.'
      operationId: sync_test_tags_api_v1_tests_tags_tests__test_id__sync_post
      parameters:
      - in: path
        name: test_id
        required: true
        schema:
          title: Test Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyncTagsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncTagsResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Sync Test Tags
      tags:
      - Tags
  /api/v1/tests/tags/{tag_id}:
    delete:
      description: Delete a tag. Automatically removes from all tests (CASCADE).
      operationId: delete_tag_api_v1_tests_tags__tag_id__delete
      parameters:
      - in: path
        name: tag_id
        required: true
        schema:
          title: Tag Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: true
                title: Response Delete Tag Api V1 Tests Tags  Tag Id  Delete
                type: object
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Tag
      tags:
      - Tags
    patch:
      description: 'Update a tag (rename, change color, update description).

        Changes apply globally to all tests using this tag.


        Raises 409 Conflict if renaming to a name that already exists.'
      operationId: update_tag_api_v1_tests_tags__tag_id__patch
      parameters:
      - in: path
        name: tag_id
        required: true
        schema:
          title: Tag Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTagRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Tag
      tags:
      - Tags
components:
  schemas:
    TagListResponse:
      description: Response model for listing tags.
      properties:
        tags:
          items:
            $ref: '#/components/schemas/TagWithCountResponse'
          title: Tags
          type: array
      required:
      - tags
      title: TagListResponse
      type: object
    TagResponse:
      description: Response model for a single tag.
      properties:
        color:
          anyOf:
          - type: string
          - type: 'null'
          default: '#6B7280'
          title: Color
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        id:
          title: Id
          type: string
        name:
          title: Name
          type: string
      required:
      - id
      - name
      title: TagResponse
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    SyncTagsResponse:
      description: Response from sync operation.
      properties:
        tags:
          items:
            $ref: '#/components/schemas/TagSyncResultItem'
          title: Tags
          type: array
        test_id:
          title: Test Id
          type: string
      required:
      - test_id
      - tags
      title: SyncTagsResponse
      type: object
    TagWithCountResponse:
      description: Tag with usage count for listings.
      properties:
        color:
          anyOf:
          - type: string
          - type: 'null'
          default: '#6B7280'
          title: Color
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        id:
          title: Id
          type: string
        name:
          title: Name
          type: string
        test_count:
          title: Test Count
          type: integer
      required:
      - id
      - name
      - test_count
      title: TagWithCountResponse
      type: object
    TagSyncResultItem:
      description: Result item from sync operation.
      properties:
        color:
          anyOf:
          - type: string
          - type: 'null'
          title: Color
        id:
          title: Id
          type: string
        name:
          title: Name
          type: string
      required:
      - id
      - name
      - color
      title: TagSyncResultItem
      type: object
    UpdateTagRequest:
      description: Request to update a tag.
      properties:
        color:
          anyOf:
          - type: string
          - type: 'null'
          title: Color
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      title: UpdateTagRequest
      type: object
    SyncTagsRequest:
      description: Request to sync tags for a test by name.
      properties:
        tag_names:
          items:
            type: string
          title: Tag Names
          type: array
      required:
      - tag_names
      title: SyncTagsRequest
      type: object
    BulkSyncTagsResultItem:
      description: Result item for a single test in bulk sync.
      properties:
        error:
          anyOf:
          - type: string
          - type: 'null'
          title: Error
        success:
          title: Success
          type: boolean
        test_id:
          title: Test Id
          type: string
      required:
      - test_id
      - success
      title: BulkSyncTagsResultItem
      type: object
    BulkSyncTagsRequest:
      description: Request to bulk sync tags for multiple tests.
      properties:
        tags_to_add:
          default: []
          items:
            type: string
          title: Tags To Add
          type: array
        tags_to_remove:
          default: []
          items:
            type: string
          title: Tags To Remove
          type: array
        test_ids:
          items:
            type: string
          title: Test Ids
          type: array
      required:
      - test_ids
      title: BulkSyncTagsRequest
      type: object
    CreateTagRequest:
      description: Request to create a tag.
      properties:
        color:
          anyOf:
          - type: string
          - type: 'null'
          default: '#6B7280'
          title: Color
        name:
          title: Name
          type: string
      required:
      - name
      title: CreateTagRequest
      type: object
    BulkSyncTagsResponse:
      description: Response from bulk sync operation.
      properties:
        error_count:
          title: Error Count
          type: integer
        results:
          items:
            $ref: '#/components/schemas/BulkSyncTagsResultItem'
          title: Results
          type: array
        success_count:
          title: Success Count
          type: integer
      required:
      - results
      - success_count
      - error_count
      title: BulkSyncTagsResponse
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
      - loc
      - msg
      - type
      title: ValidationError
      type: object
  securitySchemes:
    HTTPBearer:
      scheme: bearer
      type: http