GitLab CI/CD project_topics API

Operations about project_topics

OpenAPI Specification

gitlab-ci-project-topics-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: GitLab access_requests project_topics API
  version: v4
  description: Operations related to access requests
host: gitlab.com
produces:
- application/json
tags:
- name: project_topics
  description: Operations about project_topics
paths:
  /api/v4/topics:
    get:
      summary: Get topics
      description: This feature was introduced in GitLab 14.5.
      produces:
      - application/json
      parameters:
      - in: query
        name: search
        description: Return list of topics matching the search criteria
        type: string
        required: false
        example: search
      - in: query
        name: without_projects
        description: Return list of topics without assigned projects
        type: boolean
        required: false
      - in: query
        name: organization_id
        description: The organization id for the topics
        type: integer
        format: int32
        default: {}
        required: false
      - in: query
        name: page
        description: Current page number
        type: integer
        format: int32
        default: 1
        required: false
        example: 1
      - in: query
        name: per_page
        description: Number of items per page
        type: integer
        format: int32
        default: 20
        required: false
        example: 20
      responses:
        '200':
          description: Get topics
          schema:
            $ref: '#/definitions/API_Entities_Projects_Topic'
      tags:
      - project_topics
      operationId: getApiV4Topics
    post:
      summary: Create a topic
      description: This feature was introduced in GitLab 14.5.
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - name: postApiV4Topics
        in: body
        required: true
        schema:
          $ref: '#/definitions/postApiV4Topics'
      responses:
        '201':
          description: Create a topic
          schema:
            $ref: '#/definitions/API_Entities_Projects_Topic'
      tags:
      - project_topics
      operationId: postApiV4Topics
  /api/v4/topics/{id}:
    get:
      summary: Get topic
      description: This feature was introduced in GitLab 14.5.
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: ID of project topic
        type: integer
        format: int32
        required: true
      responses:
        '200':
          description: Get topic
          schema:
            $ref: '#/definitions/API_Entities_Projects_Topic'
      tags:
      - project_topics
      operationId: getApiV4TopicsId
    put:
      summary: Update a topic
      description: This feature was introduced in GitLab 14.5.
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - in: path
        name: id
        description: ID of project topic
        type: integer
        format: int32
        required: true
      - name: putApiV4TopicsId
        in: body
        required: true
        schema:
          $ref: '#/definitions/putApiV4TopicsId'
      responses:
        '200':
          description: Update a topic
          schema:
            $ref: '#/definitions/API_Entities_Projects_Topic'
      tags:
      - project_topics
      operationId: putApiV4TopicsId
    delete:
      summary: Delete a topic
      description: This feature was introduced in GitLab 14.9.
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: ID of project topic
        type: integer
        format: int32
        required: true
      responses:
        '204':
          description: Delete a topic
      tags:
      - project_topics
      operationId: deleteApiV4TopicsId
  /api/v4/topics/merge:
    post:
      summary: Merge topics
      description: This feature was introduced in GitLab 15.4.
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - name: postApiV4TopicsMerge
        in: body
        required: true
        schema:
          $ref: '#/definitions/postApiV4TopicsMerge'
      responses:
        '201':
          description: Merge topics
          schema:
            $ref: '#/definitions/API_Entities_Projects_Topic'
      tags:
      - project_topics
      operationId: postApiV4TopicsMerge
definitions:
  putApiV4TopicsId:
    type: object
    properties:
      name:
        type: string
        description: Slug (name)
      title:
        type: string
        description: Title
      description:
        type: string
        description: Description
      avatar:
        type: file
        description: Avatar image for topic
    description: Update a topic
  postApiV4TopicsMerge:
    type: object
    properties:
      source_topic_id:
        type: integer
        format: int32
        description: ID of source project topic
      target_topic_id:
        type: integer
        format: int32
        description: ID of target project topic
    required:
    - source_topic_id
    - target_topic_id
    description: Merge topics
  API_Entities_Projects_Topic:
    type: object
    properties:
      id:
        type: integer
        format: int32
        example: 1
      name:
        type: string
        example: topic1
      title:
        type: string
        example: Topic 1
      description:
        type: string
        example: A description
      total_projects_count:
        type: integer
        format: int32
        example: 1
      organization_id:
        type: integer
        format: int32
        example: 1
      avatar_url:
        type: string
        example: http://gitlab.example.com/uploads/topic/avatar/1/avatar.png
    required:
    - id
    - name
    - title
    - description
    - total_projects_count
    - organization_id
    - avatar_url
    description: API_Entities_Projects_Topic model
  postApiV4Topics:
    type: object
    properties:
      name:
        type: string
        description: Slug (name)
      title:
        type: string
        description: Title
      description:
        type: string
        description: Description
      avatar:
        type: file
        description: Avatar image for topic
      organization_id:
        type: integer
        format: int32
        description: The organization id for the topic
        default: {}
    required:
    - name
    - title
    description: Create a topic
securityDefinitions:
  access_token_header:
    type: apiKey
    name: PRIVATE-TOKEN
    in: header
  access_token_query:
    type: apiKey
    name: private_token
    in: query