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