Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2025-02-05 12:07:56 +00:00
parent f84cdc5587
commit ec05f6eb14
348 changed files with 1779 additions and 1767 deletions

View File

@ -103,7 +103,11 @@ Remove unnecessary spaces and text, and update the [deprecations doc's `.md` fil
1. To double check that it worked, you can run `bin/rake gitlab:docs:check_deprecations`
to verify that the doc is up to date.
1. Commit the updated file and push the changes.
1. Update the `breaking_windows.md` file:
1. From the command line (in the branch), run `bin/rake gitlab:docs:compile_windows`.
1. Commit the updated files and push the changes.
1. Set the merge request to auto-merge, or if the pipeline is already complete, merge.
If you have trouble running the Rake task, check the [troubleshooting steps](https://handbook.gitlab.com/handbook/marketing/blog/release-posts/#deprecation-rake-task-troubleshooting).

View File

@ -1 +1 @@
407cd29fa8d487dd48161357cbad23ea439873b9
6ed17e45a50357b3cece084cd26e833bc3443089

View File

@ -1,5 +1,6 @@
<script>
import { GlButton, GlAlert, GlTabs, GlTab, GlLink } from '@gitlab/ui';
import { helpPagePath } from '~/helpers/help_page_helper';
import TabTitle from './tab_title.vue';
import MergeRequestsQuery from './merge_requests_query.vue';
import CollapsibleSection from './collapsible_section.vue';
@ -41,6 +42,7 @@ export default {
.map((list) => ({ query: list.query, variables: list.variables }));
},
},
docsPath: helpPagePath('/tutorials/merge_requests/homepage.html'),
};
</script>
@ -173,9 +175,13 @@ export default {
</template>
</gl-tabs>
<div class="gl-mt-6 gl-text-center">
<gl-link href="https://gitlab.com/gitlab-org/gitlab/-/issues/512314">
<gl-link href="https://gitlab.com/gitlab-org/gitlab/-/issues/515912">
{{ __('Leave feedback') }}
</gl-link>
<span class="gl-mx-2">|</span>
<gl-link :href="$options.docsPath">
{{ __('Documentation') }}
</gl-link>
</div>
</div>
</template>

View File

@ -216,7 +216,7 @@ export default {
></textarea>
<!-- eslint-enable vue/no-mutating-props -->
<note-edited-text
v-if="note.last_edited_at"
v-if="note.last_edited_at && note.last_edited_at !== note.created_at"
:edited-at="note.last_edited_at"
:edited-by="note.last_edited_by"
:action-text="__('Edited')"

View File

@ -1,128 +0,0 @@
<script>
import { renderGFM } from '~/behaviors/markdown/render_gfm';
import { convertToGraphQLId, getIdFromGraphQLId } from '~/graphql_shared/utils';
import { TYPENAME_NOTE } from '~/graphql_shared/constants';
import * as Sentry from '~/sentry/sentry_browser_wrapper';
import SafeHtml from '~/vue_shared/directives/safe_html';
import timeagoMixin from '~/vue_shared/mixins/timeago';
import noteQuery from '../graphql/note.query.graphql';
import NoteEditedText from './note_edited_text.vue';
import NoteableNote from './noteable_note.vue';
export default {
components: {
NoteEditedText,
NoteableNote,
},
directives: {
SafeHtml,
},
mixins: [timeagoMixin],
props: {
noteId: {
type: String,
required: false,
default: '',
},
},
data() {
return {
note: null,
hidden: false,
};
},
computed: {
showNote() {
return this.note && !this.hidden && !this.isSyntheticNote;
},
showEdited() {
return this.note && this.note.created_at !== this.note.last_edited_at;
},
isSyntheticNote() {
return Boolean(this.noteId?.match(/([a-f0-9]{40})/));
},
noteHtml() {
return this.note?.body_html;
},
},
watch: {
async noteHtml() {
try {
await this.$nextTick();
renderGFM(this.$refs.noteBody);
} catch {
this.fallback();
}
},
},
mounted() {
if (this.isSyntheticNote) {
this.fallback();
}
},
methods: {
fallback() {
this.hidden = true;
},
},
apollo: {
note: {
skip() {
return !this.noteId || this.isSyntheticNote;
},
query: noteQuery,
variables() {
return {
id: convertToGraphQLId(TYPENAME_NOTE, this.noteId),
};
},
update(data) {
if (!data?.note) return null;
return {
...data.note,
author: {
...data.note.author,
id: getIdFromGraphQLId(data.note.author.id),
},
last_edited_by: {
...data.note.last_edited_by,
id: getIdFromGraphQLId(data.note.last_edited_by?.id),
},
id: getIdFromGraphQLId(data.note.id),
};
},
result(result) {
if (result?.errors?.length > 0) {
Sentry.captureException(result.errors[0].message);
this.fallback();
}
if (!result?.data?.note) {
this.fallback();
}
},
error(error) {
Sentry.captureException(error);
this.fallback();
},
},
},
};
</script>
<template>
<noteable-note v-if="showNote" :id="`note_${noteId}`" :note="note" :show-reply-button="false">
<template #note-body>
<div ref="noteBody" class="note-body">
<div v-safe-html:[$options.safeHtmlConfig]="noteHtml" class="note-text md"></div>
<note-edited-text
v-if="showEdited"
:edited-at="note.last_edited_at"
:edited-by="note.last_edited_by"
:action-text="__('Edited')"
class="note_edited_ago"
/>
</div>
</template>
</noteable-note>
</template>

View File

@ -3,6 +3,9 @@
import { mapGetters, mapActions } from 'vuex';
import { v4 as uuidv4 } from 'uuid';
import { InternalEvents } from '~/tracking';
import { convertToGraphQLId, getIdFromGraphQLId } from '~/graphql_shared/utils';
import { TYPENAME_NOTE } from '~/graphql_shared/constants';
import * as Sentry from '~/sentry/sentry_browser_wrapper';
import { getDraft, getAutoSaveKeyFromDiscussion } from '~/lib/utils/autosave';
import highlightCurrentUser from '~/behaviors/markdown/highlight_current_user';
import { scrollToTargetOnResize } from '~/lib/utils/resize_observer';
@ -10,7 +13,6 @@ import TimelineEntryItem from '~/vue_shared/components/notes/timeline_entry_item
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
import DraftNote from '~/batch_comments/components/draft_note.vue';
import { getLocationHash } from '~/lib/utils/url_utility';
import NotePreview from '~/notes/components/note_preview.vue';
import PlaceholderNote from '~/vue_shared/components/notes/placeholder_note.vue';
import PlaceholderSystemNote from '~/vue_shared/components/notes/placeholder_system_note.vue';
import SkeletonLoadingContainer from '~/vue_shared/components/notes/skeleton_note.vue';
@ -20,6 +22,7 @@ import { ISSUABLE_COMMENT_OR_REPLY, keysFor } from '~/behaviors/shortcuts/keybin
import { CopyAsGFM } from '~/behaviors/markdown/copy_as_gfm';
import * as constants from '../constants';
import eventHub from '../event_hub';
import noteQuery from '../graphql/note.query.graphql';
import CommentForm from './comment_form.vue';
import DiscussionFilterNote from './discussion_filter_note.vue';
import NoteableDiscussion from './noteable_discussion.vue';
@ -31,7 +34,6 @@ import NotesActivityHeader from './notes_activity_header.vue';
export default {
name: 'NotesApp',
components: {
NotePreview,
NotesActivityHeader,
NoteableNote,
NoteableDiscussion,
@ -88,8 +90,59 @@ export default {
renderSkeleton: !this.shouldShow,
aiLoading: null,
isInitialEventTriggered: false,
previewNote: null,
};
},
apollo: {
previewNote: {
skip() {
const notCommentId = Boolean(this.previewNoteId?.match(/([a-f0-9]{40})/));
return !this.previewNoteId || notCommentId;
},
query: noteQuery,
variables() {
return {
id: convertToGraphQLId(TYPENAME_NOTE, this.previewNoteId),
};
},
update(data) {
if (!data?.note?.discussion) return null;
return {
id: `${getIdFromGraphQLId(data.note.discussion.id)}`,
expanded: true,
notes: data.note.discussion.notes.nodes.map((note) => ({
...note,
id: `${getIdFromGraphQLId(note.id)}`,
author: {
...note.author,
id: getIdFromGraphQLId(note.author.id),
},
award_emoji: note.award_emoji.nodes.map((emoji) => ({
...emoji,
id: getIdFromGraphQLId(emoji.id),
user: {
...emoji.user,
id: getIdFromGraphQLId(emoji.user.id),
},
})),
current_user: {
can_award_emoji: note.userPermissions.awardEmoji,
can_edit: note.userPermissions.adminNote,
can_resolve_discussions: note.userPermissions.resolveNote,
},
last_edited_by: {
...note.last_edited_by,
id: getIdFromGraphQLId(note.last_edited_by?.id),
},
toggle_award_path: '',
})),
};
},
error(error) {
Sentry.captureException(error);
},
},
},
computed: {
...mapGetters([
'isNotesFetched',
@ -126,17 +179,12 @@ export default {
});
if (
this.previewNoteId &&
this.previewNote &&
!this.discussions.find((d) => d.notes[0].id === this.previewNoteId)
) {
const previewNote = {
id: this.previewNoteId,
isPreviewNote: true,
};
skeletonNotes.splice(prerenderedNotesCount / 2, 0, previewNote);
skeletonNotes.splice(prerenderedNotesCount / 2, 0, this.previewNote);
}
}
if (this.sortDirDesc) {
return skeletonNotes.concat(this.discussions);
}
@ -190,6 +238,8 @@ export default {
});
}
scrollToTargetOnResize();
eventHub.$on('noteFormAddToReview', this.handleReviewTracking);
eventHub.$on('noteFormStartReview', this.handleReviewTracking);
@ -338,13 +388,6 @@ export default {
:key="discussion.id"
class="note-skeleton"
/>
<timeline-entry-item
v-else-if="discussion.isPreviewNote"
:key="discussion.id"
class="target note note-wrapper note-comment"
>
<note-preview :note-id="previewNoteId" />
</timeline-entry-item>
<timeline-entry-item v-else-if="discussion.isDraft" :key="discussion.id">
<draft-note :draft="discussion" />
</timeline-entry-item>

View File

@ -1,26 +1,52 @@
query snakeCaseNote($id: NoteID!) {
note(id: $id) {
id
author {
discussion {
id
avatar_url: avatarUrl
name
username
web_url: webUrl
web_path: webPath
notes {
nodes {
id
author {
id
avatar_url: avatarUrl
name
username
web_url: webUrl
web_path: webPath
}
award_emoji: awardEmoji {
nodes {
emoji
name
user {
id
username
name
}
}
}
note_html: bodyHtml
created_at: createdAt
last_edited_at: lastEditedAt
last_edited_by: lastEditedBy {
id
avatar_url: avatarUrl
name
username
web_url: webUrl
web_path: webPath
}
internal
url
userPermissions {
awardEmoji
adminNote
readNote
createNote
resolveNote
}
}
}
}
body_html: bodyHtml
created_at: createdAt
last_edited_at: lastEditedAt
last_edited_by: lastEditedBy {
id
avatar_url: avatarUrl
name
username
web_url: webUrl
web_path: webPath
}
internal
url
}
}

View File

@ -1,4 +1,7 @@
import { initSimpleApp } from '~/helpers/init_simple_app_helper';
import PromoteRun from '~/ml/experiment_tracking/routes/candidates/promote/promote_run.vue';
initSimpleApp('#js-promote-ml-candidate', PromoteRun, { withApolloProvider: true });
initSimpleApp('#js-promote-ml-candidate', PromoteRun, {
withApolloProvider: true,
name: 'PromoteRun',
});

View File

@ -1,4 +1,4 @@
import { initSimpleApp } from '~/helpers/init_simple_app_helper';
import MlCandidateShow from '~/ml/experiment_tracking/routes/candidates/show';
initSimpleApp('#js-show-ml-candidate', MlCandidateShow);
initSimpleApp('#js-show-ml-candidate', MlCandidateShow, { name: 'MlCandidateShow' });

View File

@ -19,6 +19,7 @@ const initIndexMlExperiments = () => {
return new Vue({
el: element,
name: 'MlExperimentsIndexApp',
render(h) {
return h(MlExperimentsIndex, { props });
},

View File

@ -42,6 +42,7 @@ const initShowExperiment = () => {
return new Vue({
el: element,
name: 'MlExperimentsShow',
apolloProvider,
render(h) {
return h(MlExperimentsShow, { props });

View File

@ -5,4 +5,7 @@ import { EditMlModelVersion } from '~/ml/model_registry/apps';
Vue.use(VueRouter);
initSimpleApp('#js-mount-edit-ml-model-version', EditMlModelVersion, { withApolloProvider: true });
initSimpleApp('#js-mount-edit-ml-model-version', EditMlModelVersion, {
withApolloProvider: true,
name: 'EditMlModelVersion',
});

View File

@ -1,4 +1,7 @@
import { initSimpleApp } from '~/helpers/init_simple_app_helper';
import { NewMlModelVersion } from '~/ml/model_registry/apps';
initSimpleApp('#js-mount-new-ml-model-version', NewMlModelVersion, { withApolloProvider: true });
initSimpleApp('#js-mount-new-ml-model-version', NewMlModelVersion, {
withApolloProvider: true,
name: 'NewMlModelVersion',
});

View File

@ -5,4 +5,7 @@ import { ShowMlModelVersion } from '~/ml/model_registry/apps';
Vue.use(VueRouter);
initSimpleApp('#js-mount-show-ml-model-version', ShowMlModelVersion, { withApolloProvider: true });
initSimpleApp('#js-mount-show-ml-model-version', ShowMlModelVersion, {
withApolloProvider: true,
name: 'ShowMlModelVersion',
});

View File

@ -5,4 +5,7 @@ import { EditMlModel } from '~/ml/model_registry/apps';
Vue.use(VueRouter);
initSimpleApp('#js-mount-edit-ml-model', EditMlModel, { withApolloProvider: true });
initSimpleApp('#js-mount-edit-ml-model', EditMlModel, {
withApolloProvider: true,
name: 'EditMlModel',
});

View File

@ -1,4 +1,7 @@
import { initSimpleApp } from '~/helpers/init_simple_app_helper';
import { NewMlModel } from '~/ml/model_registry/apps';
initSimpleApp('#js-mount-new-ml-model', NewMlModel, { withApolloProvider: true });
initSimpleApp('#js-mount-new-ml-model', NewMlModel, {
withApolloProvider: true,
name: 'NewMlModel',
});

View File

@ -5,4 +5,7 @@ import { ShowMlModel } from '~/ml/model_registry/apps';
Vue.use(VueRouter);
initSimpleApp('#js-mount-show-ml-model', ShowMlModel, { withApolloProvider: true });
initSimpleApp('#js-mount-show-ml-model', ShowMlModel, {
withApolloProvider: true,
name: 'ShowMlModel',
});

View File

@ -9,7 +9,7 @@ import CommitChangesModal from './commit_changes_modal.vue';
const DIR_LABEL = __('Directory name');
const ERROR_MESSAGE = __('Error creating new directory. Please try again.');
const COMMIT_MESSSAGE = __('Add new directory');
const COMMIT_MESSAGE = __('Add new directory');
export default {
components: {
@ -20,7 +20,7 @@ export default {
i18n: {
DIR_LABEL,
ERROR_MESSAGE,
COMMIT_MESSSAGE,
COMMIT_MESSAGE,
},
props: {
modalId: {
@ -95,7 +95,7 @@ export default {
:modal-id="modalId"
:can-push-code="canPushCode"
:can-push-to-branch="canPushToBranch"
:commit-message="$options.i18n.COMMIT_MESSSAGE"
:commit-message="$options.i18n.COMMIT_MESSAGE"
:target-branch="targetBranch"
:original-branch="originalBranch"
v-on="$listeners"

View File

@ -9,7 +9,9 @@ import { clearDraft } from '~/lib/utils/autosave';
import { findWidget } from '~/issues/list/utils';
import DiscussionReplyPlaceholder from '~/notes/components/discussion_reply_placeholder.vue';
import ResolveDiscussionButton from '~/notes/components/discussion_resolve_button.vue';
import { updateCacheAfterCreatingNote } from '../../graphql/cache_utils';
import createNoteMutation from '../../graphql/notes/create_work_item_note.mutation.graphql';
import workItemNotesByIidQuery from '../../graphql/notes/work_item_notes_by_iid.query.graphql';
import workItemByIidQuery from '../../graphql/work_item_by_iid.query.graphql';
import { TRACKING_CATEGORY_SHOW, WIDGET_TYPE_EMAIL_PARTICIPANTS, i18n } from '../../constants';
import WorkItemNoteSignedOut from './work_item_note_signed_out.vue';
@ -276,11 +278,27 @@ export default {
this.isEditing = true;
this.$emit('startReplying');
},
onNoteUpdate(store, createNoteData) {
const numErrors = createNoteData.data?.createNote?.errors?.length;
addDiscussionToCache(cache, newNote) {
const queryArgs = {
query: workItemNotesByIidQuery,
variables: { fullPath: this.fullPath, iid: this.workItemIid },
};
const sourceData = cache.readQuery(queryArgs);
if (!sourceData) {
return;
}
cache.writeQuery({
...queryArgs,
data: updateCacheAfterCreatingNote(sourceData, newNote),
});
},
onNoteUpdate(cache, { data }) {
this.addDiscussionToCache(cache, data.createNote.note);
const numErrors = data?.createNote?.errors?.length;
if (numErrors) {
const { errors } = createNoteData.data.createNote;
const { errors } = data.createNote;
// TODO: https://gitlab.com/gitlab-org/gitlab/-/issues/503600
// Refetching widgets as a temporary solution for dynamic updates
@ -304,7 +322,7 @@ export default {
return;
}
throw new Error(createNoteData.data?.createNote?.errors[0]);
throw new Error(data?.createNote?.errors[0]);
}
},
},

View File

@ -6,7 +6,7 @@ import { WORKSPACE_PROJECT } from '~/issues/constants';
import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
import ConfidentialityBadge from '~/vue_shared/components/confidentiality_badge.vue';
import workItemByIidQuery from '../graphql/work_item_by_iid.query.graphql';
import { isNotesWidget } from '../utils';
import { findNotesWidget } from '../utils';
import WorkItemStateBadge from './work_item_state_badge.vue';
import WorkItemTypeIcon from './work_item_type_icon.vue';
@ -57,7 +57,7 @@ export default {
return this.workItem?.workItemType?.iconName;
},
isDiscussionLocked() {
return this.workItem?.widgets?.find(isNotesWidget)?.discussionLocked;
return findNotesWidget(this.workItem)?.discussionLocked;
},
isWorkItemConfidential() {
return this.workItem?.confidential;

View File

@ -307,8 +307,8 @@ export default {
subscribeToMore: [
{
document: workItemNoteCreatedSubscription,
updateQuery(previousResult, { subscriptionData }) {
return updateCacheAfterCreatingNote(previousResult, subscriptionData);
updateQuery(previousResult, { subscriptionData: { data } }) {
return updateCacheAfterCreatingNote(previousResult, data?.workItemNoteCreated);
},
variables() {
return {

View File

@ -4,7 +4,7 @@ import LockedBadge from '~/issuable/components/locked_badge.vue';
import { WORKSPACE_PROJECT } from '~/issues/constants';
import ConfidentialityBadge from '~/vue_shared/components/confidentiality_badge.vue';
import glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
import { isNotesWidget } from '../utils';
import { findNotesWidget } from '../utils';
import WorkItemActions from './work_item_actions.vue';
import TodosToggle from './shared/todos_toggle.vue';
import WorkItemStateBadge from './work_item_state_badge.vue';
@ -107,7 +107,7 @@ export default {
return this.workItem.userPermissions?.reportSpam;
},
isDiscussionLocked() {
return this.workItem.widgets?.find(isNotesWidget)?.discussionLocked;
return findNotesWidget(this.workItem)?.discussionLocked;
},
workItemType() {
return this.workItem.workItemType?.name;

View File

@ -12,10 +12,11 @@ import { findWidget } from '~/issues/list/utils';
import {
findHierarchyWidgets,
findHierarchyWidgetChildren,
findNotesWidget,
getNewWorkItemAutoSaveKey,
isNotesWidget,
newWorkItemFullPath,
newWorkItemId,
getNewWorkItemAutoSaveKey,
} from '../utils';
import {
WIDGET_TYPE_ASSIGNEES,
@ -41,8 +42,7 @@ import workItemByIidQuery from './work_item_by_iid.query.graphql';
import workItemByIdQuery from './work_item_by_id.query.graphql';
import getWorkItemTreeQuery from './work_item_tree.query.graphql';
const getNotesWidgetFromSourceData = (draftData) =>
draftData?.workspace?.workItem?.widgets.find(isNotesWidget);
const getNotesWidgetFromSourceData = (draftData) => findNotesWidget(draftData?.workspace?.workItem);
const updateNotesWidgetDataInDraftData = (draftData, notesWidget) => {
const noteWidgetIndex = draftData.workspace.workItem.widgets.findIndex(isNotesWidget);
@ -53,13 +53,12 @@ const updateNotesWidgetDataInDraftData = (draftData, notesWidget) => {
* Work Item note create subscription update query callback
*
* @param currentNotes
* @param subscriptionData
* @param newNote
*/
export const updateCacheAfterCreatingNote = (currentNotes, subscriptionData) => {
if (!subscriptionData.data?.workItemNoteCreated) {
export const updateCacheAfterCreatingNote = (currentNotes, newNote) => {
if (!newNote) {
return currentNotes;
}
const newNote = subscriptionData.data.workItemNoteCreated;
return produce(currentNotes, (draftData) => {
const notesWidget = getNotesWidgetFromSourceData(draftData);

View File

@ -48,6 +48,9 @@ export const findHierarchyWidgets = (widgets) =>
export const findLinkedItemsWidget = (workItem) =>
workItem.widgets?.find((widget) => widget.type === WIDGET_TYPE_LINKED_ITEMS);
export const findNotesWidget = (workItem) =>
workItem?.widgets?.find((widget) => widget.type === WIDGET_TYPE_NOTES);
export const findStartAndDueDateWidget = (workItem) =>
workItem.widgets?.find((widget) => widget.type === WIDGET_TYPE_START_AND_DUE_DATE);

View File

@ -12,6 +12,9 @@ class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController
before_action :add_gon_variables
before_action :verify_confirmed_email!, :verify_admin_allowed!
# rubocop: disable Rails/LexicallyScopedActionFilter -- :create is defined in Doorkeeper::AuthorizationsController
after_action :audit_oauth_authorization, only: [:create]
# rubocop: enable Rails/LexicallyScopedActionFilter
layout 'minimal'
@ -37,6 +40,26 @@ class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController
private
def audit_oauth_authorization
return unless performed? && (response.successful? || response.redirect?) && pre_auth&.client
application = pre_auth.client.application
Gitlab::Audit::Auditor.audit(
name: 'user_authorized_oauth_application',
author: current_user,
scope: current_user,
target: application,
message: 'User authorized an OAuth application.',
additional_details: {
application_name: application.name,
application_id: application.id,
scopes: application.scopes.to_a
},
ip_address: request.remote_ip
)
end
# Chrome blocks redirections if the form-action CSP directive is present
# and the redirect location's scheme isn't allow-listed
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/form-action

View File

@ -306,7 +306,7 @@ module SearchHelper
# Autocomplete results for internal help pages
def help_autocomplete
[
{ category: "Help", label: _("API Help"), url: help_page_path("api/index.md") },
{ category: "Help", label: _("API Help"), url: help_page_path("api/_index.md") },
{ category: "Help", label: _("Markdown Help"), url: help_page_path("user/markdown.md") },
{ category: "Help", label: _("Permissions Help"), url: help_page_path("user/permissions.md") },
{ category: "Help", label: _("Public Access Help"), url: help_page_path("user/public_access.md") },

View File

@ -407,8 +407,6 @@ class User < ApplicationRecord
update_invalid_gpg_signatures if previous_changes.key?('email')
end
after_create_commit :create_default_organization_user
# User's Layout preference
enum layout: { fixed: 0, fluid: 1 }
@ -2906,12 +2904,6 @@ class User < ApplicationRecord
FEED_TOKEN_PREFIX
end
def create_default_organization_user
return unless organizations.blank?
Organizations::OrganizationUser.create_default_organization_record_for(id, user_is_admin: admin?)
end
# method overridden in EE
def audit_lock_access(reason: nil); end

View File

@ -0,0 +1,10 @@
---
name: user_authorized_oauth_application
description: User authorized an OAuth application
introduced_by_issue: https://gitlab.com/gitlab-org/gitlab/-/issues/514152
introduced_by_mr: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/179187
feature_category: authorization
milestone: '17.9'
saved_to_database: true
streamed: true
scope: [User]

View File

@ -2,7 +2,7 @@
name: kubernetes_agent_protected_branches
feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388323
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/156626
rollout_issue_url:
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/517093
milestone: '17.3'
group: group::environments
type: beta

View File

@ -0,0 +1,14 @@
# frozen_string_literal: true
class AddIssueLinksNamespaceIdNotNullConstraint < Gitlab::Database::Migration[2.2]
disable_ddl_transaction!
milestone '17.9'
def up
add_not_null_constraint :issue_links, :namespace_id, validate: false
end
def down
remove_not_null_constraint :issue_links, :namespace_id
end
end

View File

@ -0,0 +1,16 @@
# frozen_string_literal: true
class PrepareIssueLinksNamespaceIdNotNullValidation < Gitlab::Database::Migration[2.2]
disable_ddl_transaction!
milestone '17.9'
CONSTRAINT_NAME = :check_c32f659c75
def up
prepare_async_check_constraint_validation :issue_links, name: CONSTRAINT_NAME
end
def down
unprepare_async_check_constraint_validation :issue_links, name: CONSTRAINT_NAME
end
end

View File

@ -0,0 +1 @@
32cab72195ae23011eda790012178d79cc1bc68a34463ec1d54478093b6b3803

View File

@ -0,0 +1 @@
16e2a5b053c6633a4319e262bf3e9616a2f4fbfa9d4df98791efd1807f60edcf

View File

@ -26738,6 +26738,9 @@ ALTER TABLE approval_merge_request_rules
ALTER TABLE sbom_occurrences_vulnerabilities
ADD CONSTRAINT check_a02e48df9c CHECK ((project_id IS NOT NULL)) NOT VALID;
ALTER TABLE issue_links
ADD CONSTRAINT check_c32f659c75 CHECK ((namespace_id IS NOT NULL)) NOT VALID;
ALTER TABLE sprints
ADD CONSTRAINT check_ccd8a1eae0 CHECK ((start_date IS NOT NULL)) NOT VALID;

View File

@ -256,7 +256,7 @@ You can make changes to your default rate limits from the **Admin** area. For mo
- Review the [rate limit on raw endpoints](settings/rate_limits_on_raw_endpoints.md). The default setting is 300 requests per minute for raw file access.
- Review the [import/export rate limits](settings/import_export_rate_limits.md) of the six active defaults.
For more information about API and rate limits, see our [API page](../api/rest/index.md).
For more information about API and rate limits, see our [API page](../api/rest/_index.md).
## API and rate limits for GitLab SaaS
@ -270,7 +270,7 @@ Rate limits also improve the security of your application.
You can make changes to your default rate limits from the **Admin** area. For more information about configuration, see the [**Admin** area page](../security/rate_limits.md#configurable-limits).
- Review the rate limit page.
- Read our [API page](../api/rest/index.md) for more information about API and rate limiting.
- Read our [API page](../api/rest/_index.md) for more information about API and rate limiting.
### GitLab SaaS-specific block and error responses

View File

@ -391,7 +391,7 @@ and to limit memory consumption.
When using offset-based pagination in the REST API, there is a limit to the maximum
requested offset into the set of results. This limit is only applied to endpoints that
also support keyset-based pagination. More information about pagination options can be
found in the [API documentation section on pagination](../api/rest/index.md#pagination).
found in the [API documentation section on pagination](../api/rest/_index.md#pagination).
To set this limit for a GitLab Self-Managed instance, run the following in the
[GitLab Rails console](operations/rails_console.md#starting-a-rails-console-session):

View File

@ -2,13 +2,12 @@
stage: Foundations
group: Import and Integrate
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Extend with GitLab
---
# Extend with GitLab
Automate with GitLab and integrate with external applications.
| | | |
|--|--|--|
| [**Integrate with GitLab**](../integration/index.md)<br>Projects, issues, authentication, security providers. | [**Webhooks**](../user/project/integrations/webhooks.md)<br>Custom HTTP callbacks, used to send events. | [**REST API**](rest/index.md)<br>Programmatic interaction with GitLab. |
| [**GraphQL API**](graphql/index.md)<br>Programmatic interaction with GitLab. | [**OAuth 2.0 identity provider API**](oauth2.md)<br>Third-party authorization to GitLab. | [**Editor and IDE extensions**](../editor_extensions/_index.md)<br>Visual Studio Code, JetBrains, Neovim, GitLab CLI. |
| [**Integrate with GitLab**](../integration/index.md)<br>Projects, issues, authentication, security providers. | [**Webhooks**](../user/project/integrations/webhooks.md)<br>Custom HTTP callbacks, used to send events. | [**REST API**](rest/_index.md)<br>Programmatic interaction with GitLab. |
| [**GraphQL API**](graphql/_index.md)<br>Programmatic interaction with GitLab. | [**OAuth 2.0 identity provider API**](oauth2.md)<br>Third-party authorization to GitLab. | [**Editor and IDE extensions**](../editor_extensions/_index.md)<br>Visual Studio Code, JetBrains, Neovim, GitLab CLI. |

View File

@ -2,10 +2,9 @@
stage: Software Supply Chain Security
group: Authentication
info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments"
title: Group and project access requests API
---
# Group and project access requests API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -37,7 +36,7 @@ GET /projects/:id/access_requests
| Attribute | Type | Required | Description |
|-----------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
Example request:
@ -86,7 +85,7 @@ POST /projects/:id/access_requests
| Attribute | Type | Required | Description |
|-----------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group or project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group or project](rest/_index.md#namespaced-paths) |
Example request:
@ -121,7 +120,7 @@ PUT /projects/:id/access_requests/:user_id/approve
| Attribute | Type | Required | Description |
|----------------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `user_id` | integer | yes | The user ID of the access requester |
| `access_level` | integer | no | A valid access level (defaults: `30`, the Developer role) |
@ -158,7 +157,7 @@ DELETE /projects/:id/access_requests/:user_id
| Attribute | Type | Required | Description |
|-----------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `user_id` | integer | yes | The user ID of the access requester |
Example request:

View File

@ -3,10 +3,9 @@ stage: Software Supply Chain Security
group: Authentication
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
description: "Documentation for the REST API that exposes token information."
title: Token information API
---
# Token information API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab Self-Managed
@ -38,7 +37,7 @@ Prerequisites:
Gets information for a given token. This endpoint supports the following tokens:
- [Personal access tokens](../../user/profile/personal_access_tokens.md)
- [Impersonation tokens](../../api/rest/authentication.md#impersonation-tokens)
- [Impersonation tokens](../rest/authentication.md#impersonation-tokens)
- [Deploy tokens](../../user/project/deploy_tokens/index.md)
- [Feed tokens](../../security/tokens/_index.md#feed-token)
- [OAuth application secrets](../../integration/oauth_provider.md)

View File

@ -2,10 +2,9 @@
stage: Systems
group: Distribution
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Sidekiq queues administration API
---
# Sidekiq queues administration API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Monitor
group: Platform Insights
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Alert Management alerts API
---
# Alert Management alerts API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -21,7 +20,7 @@ POST /projects/:id/alert_management_alerts/:alert_iid/metric_images
| Attribute | Type | Required | Description |
|-------------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `alert_iid` | integer | yes | The internal ID of a project's alert. |
Example request:
@ -55,7 +54,7 @@ GET /projects/:id/alert_management_alerts/:alert_iid/metric_images
| Attribute | Type | Required | Description |
|-------------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `alert_iid` | integer | yes | The internal ID of a project's alert. |
Example request:
@ -96,7 +95,7 @@ PUT /projects/:id/alert_management_alerts/:alert_iid/metric_images/:image_id
| Attribute | Type | Required | Description |
|-------------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `alert_iid` | integer | yes | The internal ID of a project's alert. |
| `image_id` | integer | yes | The ID of the image. |
| `url` | string | no | The URL to view more metrics information. |
@ -132,7 +131,7 @@ DELETE /projects/:id/alert_management_alerts/:alert_iid/metric_images/:image_id
| Attribute | Type | Required | Description |
|-------------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `alert_iid` | integer | yes | The internal ID of a project's alert. |
| `image_id` | integer | yes | The ID of the image. |

View File

@ -2,15 +2,14 @@
stage: Foundations
group: Import and Integrate
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: REST API resources
---
# REST API resources
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
Available resources for the [GitLab REST API](index.md) can be grouped in the following contexts:
Available resources for the [GitLab REST API](_index.md) can be grouped in the following contexts:
- [Projects](#project-resources)
- [Groups](#group-resources)
@ -100,7 +99,7 @@ The following API resources are available in the project context:
| [Protected tags](protected_tags.md) | `/projects/:id/protected_tags` |
| [PyPI packages](packages/pypi.md) | `/projects/:id/packages/pypi` (also available for groups) |
| [Release links](releases/links.md) | `/projects/:id/releases/.../assets/links` |
| [Releases](releases/index.md) | `/projects/:id/releases` |
| [Releases](releases/_index.md) | `/projects/:id/releases` |
| [Remote mirrors](remote_mirrors.md) | `/projects/:id/remote_mirrors` |
| [Repositories](repositories.md) | `/projects/:id/repository` |
| [Repository files](repository_files.md) | `/projects/:id/repository/files` |

View File

@ -2,10 +2,9 @@
stage: Software Supply Chain Security
group: Authentication
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Application appearance API
---
# Application appearance API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Software Supply Chain Security
group: Authentication
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Applications API
---
# Applications API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Software Supply Chain Security
group: Compliance
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Audit events API
---
# Audit events API
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -38,10 +37,10 @@ GET /audit_events
| `entity_type` | string | no | Return audit events for the given entity type. Valid values are: `User`, `Group`, `Project`, or `Gitlab::Audit::InstanceScope`. |
| `entity_id` | integer | no | Return audit events for the given entity ID. Requires `entity_type` attribute to be present. |
This endpoint supports both offset-based and [keyset-based](rest/index.md#keyset-based-pagination) pagination. You should use keyset-based
This endpoint supports both offset-based and [keyset-based](rest/_index.md#keyset-based-pagination) pagination. You should use keyset-based
pagination when requesting consecutive pages of results.
Read more on [pagination](rest/index.md#pagination).
Read more on [pagination](rest/_index.md#pagination).
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/audit_events"
@ -178,7 +177,7 @@ A user with:
- The Owner role can retrieve group audit events of all users.
- The Developer or Maintainer role is limited to group audit events based on their individual actions.
This endpoint supports both offset-based and [keyset-based](rest/index.md#keyset-based-pagination) pagination. Keyset-based
This endpoint supports both offset-based and [keyset-based](rest/_index.md#keyset-based-pagination) pagination. Keyset-based
pagination is recommended when requesting consecutive pages of results.
### Retrieve all group audit events
@ -191,14 +190,14 @@ GET /groups/:id/audit_events
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `created_after` | string | no | Return group audit events created on or after the given time. Format: ISO 8601 (`YYYY-MM-DDTHH:MM:SSZ)` |
| `created_before` | string | no | Return group audit events created on or before the given time. Format: ISO 8601 (`YYYY-MM-DDTHH:MM:SSZ`) |
By default, `GET` requests return 20 results at a time because the API results
are paginated.
Read more on [pagination](rest/index.md#pagination).
Read more on [pagination](rest/_index.md#pagination).
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/groups/60/audit_events"
@ -255,7 +254,7 @@ GET /groups/:id/audit_events/:audit_event_id
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `audit_event_id` | integer | yes | The ID of the audit event |
```shell
@ -301,14 +300,14 @@ GET /projects/:id/audit_events
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `created_after` | string | no | Return project audit events created on or after the given time. Format: ISO 8601 (`YYYY-MM-DDTHH:MM:SSZ`) |
| `created_before` | string | no | Return project audit events created on or before the given time. Format: ISO 8601 (`YYYY-MM-DDTHH:MM:SSZ`) |
By default, `GET` requests return 20 results at a time because the API results are paginated.
When requesting consecutive pages of results, you should use [keyset pagination](rest/index.md#keyset-based-pagination).
When requesting consecutive pages of results, you should use [keyset pagination](rest/_index.md#keyset-based-pagination).
Read more on [pagination](rest/index.md#pagination).
Read more on [pagination](rest/_index.md#pagination).
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/projects/7/audit_events"
@ -369,7 +368,7 @@ GET /projects/:id/audit_events/:audit_event_id
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `audit_event_id` | integer | yes | The ID of the audit event |
```shell

View File

@ -2,10 +2,9 @@
stage: Software Supply Chain Security
group: Authentication
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Avatar API
---
# Avatar API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Plan
group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Project issue boards API
---
# Project issue boards API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -25,7 +24,7 @@ GET /projects/:id/boards
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards"
@ -109,7 +108,7 @@ GET /projects/:id/boards/:board_id
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `board_id` | integer | yes | The ID of a board. |
```shell
@ -186,7 +185,7 @@ POST /projects/:id/boards
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `name` | string | yes | The name of the new board. |
```shell
@ -227,7 +226,7 @@ PUT /projects/:id/boards/:board_id
| Attribute | Type | Required | Description |
| ---------------------------- | -------------- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `board_id` | integer | yes | The ID of a board. |
| `name` | string | no | The new name of the board. |
| `assignee_id` | integer | no | The assignee the board should be scoped to. Premium and Ultimate only. |
@ -307,7 +306,7 @@ DELETE /projects/:id/boards/:board_id
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `board_id` | integer | yes | The ID of a board. |
```shell
@ -325,7 +324,7 @@ GET /projects/:id/boards/:board_id/lists
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `board_id` | integer | yes | The ID of a board. |
```shell
@ -385,7 +384,7 @@ GET /projects/:id/boards/:board_id/lists/:list_id
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `board_id` | integer | yes | The ID of a board. |
| `list_id`| integer | yes | The ID of a board's list. |
@ -420,7 +419,7 @@ POST /projects/:id/boards/:board_id/lists
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `board_id` | integer | yes | The ID of a board. |
| `label_id` | integer | no | The ID of a label. |
| `assignee_id` | integer | no | The ID of a user. Premium and Ultimate only. |
@ -463,7 +462,7 @@ PUT /projects/:id/boards/:board_id/lists/:list_id
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `board_id` | integer | yes | The ID of a board. |
| `list_id` | integer | yes | The ID of a board's list. |
| `position` | integer | yes | The position of the list. |
@ -499,7 +498,7 @@ DELETE /projects/:id/boards/:board_id/lists/:list_id
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `board_id` | integer | yes | The ID of a board. |
| `list_id` | integer | yes | The ID of a board's list. |

View File

@ -3,10 +3,9 @@ stage: Create
group: Source Code
info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments"
description: "Documentation for the REST API for Git branches in GitLab."
title: Branches API
---
# Branches API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -30,7 +29,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:----------|:---------------|:---------|:------------|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths).|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths).|
| `search` | string | no | Return list of branches containing the search string. Use `^term` to find branches that begin with `term`, and `term$` to find branches that end with `term`. |
| `regex` | string | no | Return list of branches with names matching a [re2](https://github.com/google/re2/wiki/Syntax) regular expression. |
@ -93,8 +92,8 @@ Parameters:
| Attribute | Type | Required | Description |
|-----------|-------------------|----------|-------------|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `branch` | string | yes | [URL-encoded name](rest/index.md#namespaced-paths) of the branch. |
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `branch` | string | yes | [URL-encoded name](rest/_index.md#namespaced-paths) of the branch. |
Example request:
@ -158,7 +157,7 @@ Parameters:
| Attribute | Type | Required | Description |
|-----------|---------|----------|-------------|
| `id` | integer | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `branch` | string | yes | Name of the branch. |
| `ref` | string | yes | Branch name or commit SHA to create branch from. |
@ -218,7 +217,7 @@ Parameters:
| Attribute | Type | Required | Description |
|-----------|----------------|----------|-------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `branch` | string | yes | Name of the branch. |
Example request:
@ -249,7 +248,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:----------|:---------------|:---------|:-------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
Example request:

View File

@ -2,10 +2,9 @@
stage: Growth
group: Acquisition
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Broadcast Messages API
---
# Broadcast Messages API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Foundations
group: Import and Integrate
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Group and project migration by direct transfer API
---
# Group and project migration by direct transfer API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated

View File

@ -3,10 +3,9 @@ stage: AI-Powered
group: Duo Chat
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
description: "Documentation for the REST API for Duo Chat."
title: GitLab Duo Chat Completions API
---
# GitLab Duo Chat Completions API
The GitLab Duo Chat Completions API generates Chat responses. This API is for internal use only.
## Generate Chat responses

View File

@ -2,10 +2,9 @@
stage: Deploy
group: Environments
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Agents API
---
# Agents API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -28,7 +27,7 @@ Parameters:
| Attribute | Type | Required | Description |
|-----------|-------------------|-----------|-----------------------------------------------------------------------------------------------------------------|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) maintained by the authenticated user |
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) maintained by the authenticated user |
Response:
@ -106,7 +105,7 @@ Parameters:
| Attribute | Type | Required | Description |
|------------|-------------------|----------|-----------------------------------------------------------------------------------------------------------------|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) maintained by the authenticated user |
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) maintained by the authenticated user |
| `agent_id` | integer | yes | ID of the agent |
Response:
@ -168,7 +167,7 @@ Parameters:
| Attribute | Type | Required | Description |
|-----------|-------------------|----------|-----------------------------------------------------------------------------------------------------------------|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) maintained by the authenticated user |
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) maintained by the authenticated user |
| `name` | string | yes | Name for the agent |
Response:
@ -232,7 +231,7 @@ Parameters:
| Attribute | Type | Required | Description |
|------------|-------------------|----------|-----------------------------------------------------------------------------------------------------------------|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) maintained by the authenticated user |
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) maintained by the authenticated user |
| `agent_id` | integer | yes | ID of the agent |
Example request:
@ -257,7 +256,7 @@ Supported attributes:
| Attribute | Type | Required | Description |
|------------|-------------------|-----------|------------------------------------------------------------------------------------------------------------------|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) maintained by the authenticated user. |
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) maintained by the authenticated user. |
| `agent_id` | integer or string | yes | ID of the agent. |
Response:
@ -326,7 +325,7 @@ Supported attributes:
| Attribute | Type | Required | Description |
|------------|-------------------|----------|-------------------------------------------------------------------------------------------------------------------|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) maintained by the authenticated user. |
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) maintained by the authenticated user. |
| `agent_id` | integer | yes | ID of the agent. |
| `token_id` | integer | yes | ID of the token. |
@ -386,7 +385,7 @@ Supported attributes:
| Attribute | Type | Required | Description |
|---------------|-------------------|----------|------------------------------------------------------------------------------------------------------------------|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) maintained by the authenticated user. |
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) maintained by the authenticated user. |
| `agent_id` | integer | yes | ID of the agent. |
| `name` | string | yes | Name for the token. |
| `description` | string | no | Description for the token. |
@ -450,7 +449,7 @@ Supported attributes:
| Attribute | Type | Required | Description |
|------------|-------------------|----------|---------------------------------------------------------------------------------------------------------------- -|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) maintained by the authenticated user. |
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) maintained by the authenticated user. |
| `agent_id` | integer | yes | ID of the agent. |
| `token_id` | integer | yes | ID of the token. |
@ -485,7 +484,7 @@ Supported attributes:
| Attribute | Type | Required | Description |
|------------|-------------------|-----------|-----------------------------------------------------------------------------------------------------------------------|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) maintained by the authenticated user. |
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) maintained by the authenticated user. |
| `agent_id` | integer or string | yes | ID of the agent. |
Response:
@ -538,7 +537,7 @@ Supported attributes:
| Attribute | Type | Required | Description |
|------------------------|-------------------|----------|------------------------------------------------------------------------------------------------------------------------|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) maintained by the authenticated user. |
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) maintained by the authenticated user. |
| `agent_id` | integer | yes | ID of the agent. |
| `url_configuration_id` | integer | yes | ID of the URL configuration. |
@ -592,7 +591,7 @@ Supported attributes:
| Attribute | Type | Required | Description |
|---------------|-------------------|----------|-----------------------------------------------------------------------------------------------------------------------|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) maintained by the authenticated user. |
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) maintained by the authenticated user. |
| `agent_id` | integer | yes | ID of the agent. |
| `url` | string | yes | Agent URL for this URL configuration. |
| `client_cert` | string | no | Client certificate in PEM format if mTLS authentication should be used. Must be provided with `client_key`. |
@ -669,7 +668,7 @@ Supported attributes:
| Attribute | Type | Required | Description |
|------------------------|-------------------|----------|-----------------------------------------------------------------------------------------------------------------------|
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) maintained by the authenticated user. |
| `id` | integer or string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) maintained by the authenticated user. |
| `agent_id` | integer | yes | ID of the agent. |
| `url_configuration_id` | integer | yes | ID of the URL configuration. |

View File

@ -2,10 +2,9 @@
stage: Deploy
group: Environments
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Cluster discovery API (certificate-based) (deprecated)
---
# Cluster discovery API (certificate-based) (deprecated)
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated

View File

@ -3,10 +3,9 @@ stage: Create
group: Code Creation
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
description: "Documentation for the REST API for Code Suggestions."
title: Code Suggestions API
---
# Code Suggestions API
Use the Code Suggestions API to access the Code Suggestions feature.
## Generate code completions

View File

@ -3,10 +3,9 @@ stage: Create
group: Source Code
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
description: "Documentation for the REST API for Git commits in GitLab."
title: Commits API
---
# Commits API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -35,7 +34,7 @@ GET /projects/:id/repository/commits
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `ref_name` | string | no | The name of a repository branch, tag or revision range, or if not given the default branch |
| `since` | string | no | Only commits after or on this date are returned in ISO 8601 format `YYYY-MM-DDTHH:MM:SSZ` |
| `until` | string | no | Only commits before or on this date are returned in ISO 8601 format `YYYY-MM-DDTHH:MM:SSZ` |
@ -105,12 +104,12 @@ POST /projects/:id/repository/commits
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `branch` | string | yes | Name of the branch to commit into. To create a new branch, also provide either `start_branch` or `start_sha`, and optionally `start_project`. |
| `commit_message` | string | yes | Commit message |
| `start_branch` | string | no | Name of the branch to start the new branch from |
| `start_sha` | string | no | SHA of the commit to start the new branch from |
| `start_project` | integer/string | no | The project ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) to start the new branch from. Defaults to the value of `id`. |
| `start_project` | integer/string | no | The project ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) to start the new branch from. Defaults to the value of `id`. |
| `actions[]` | array | yes | An array of action hashes to commit as a batch. See the next table for what attributes it can take. |
| `author_email` | string | no | Specify the commit author's email address |
| `author_name` | string | no | Specify the commit author's name |
@ -197,7 +196,7 @@ Example response:
}
```
GitLab supports [form encoding](rest/index.md#array-and-hash-types). The following is an example using Commit API with form encoding:
GitLab supports [form encoding](rest/_index.md#array-and-hash-types). The following is an example using Commit API with form encoding:
```shell
curl --request POST \
@ -235,7 +234,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `sha` | string | yes | The commit hash or name of a repository branch or tag |
| `stats` | boolean | no | Include commit stats. Default is true |
@ -291,7 +290,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `sha` | string | yes | The commit hash |
| `type` | string | no | The scope of commits. Possible values `branch`, `tag`, `all`. Default is `all`. |
@ -328,7 +327,7 @@ Parameters:
| Attribute | Type | Required | Description |
| -------------- | -------------- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `sha` | string | yes | The commit hash. |
| `first_parent` | boolean | no | Follow only the first parent commit upon seeing a merge commit. |
@ -359,7 +358,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `sha` | string | yes | The commit hash |
| `branch` | string | yes | The name of the branch |
| `dry_run` | boolean | no | Does not commit any changes. Default is false. |
@ -434,7 +433,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `sha` | string | yes | Commit SHA to revert |
| `branch` | string | yes | Target branch name |
| `dry_run` | boolean | no | Does not commit any changes. Default is false. |
@ -504,7 +503,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `sha` | string | yes | The commit hash or name of a repository branch or tag |
| `unidiff` | boolean | no | Present diffs in the [unified diff](https://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html) format. Default is false. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/130610) in GitLab 16.5. |
@ -542,7 +541,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `sha` | string | yes | The commit hash or name of a repository branch or tag |
```shell
@ -596,7 +595,7 @@ POST /projects/:id/repository/commits/:sha/comments
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `sha` | string | yes | The commit SHA or name of a repository branch or tag |
| `note` | string | yes | The text of the comment |
| `path` | string | no | The file path relative to the repository |
@ -645,7 +644,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `sha` | string | yes | The commit hash or name of a repository branch or tag |
```shell
@ -707,7 +706,7 @@ GET /projects/:id/repository/commits/:sha/statuses
| Attribute | Type | Required | Description |
|---------------|----------------| -------- |--------------------------------------------------------------------------------------|
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `sha` | string | Yes | Hash of the commit. |
| `ref` | string | No | Name of the branch or tag. Default is the default branch. |
| `stage` | string | No | Filter statuses by [build stage](../ci/yaml/index.md#stages). For example, `test`. |
@ -786,7 +785,7 @@ POST /projects/:id/statuses/:sha
| Attribute | Type | Required | Description |
| --------- | ---- | -------- |-----------------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `sha` | string | yes | The commit SHA |
| `state` | string | yes | The state of the status. Can be one of the following: `pending`, `running`, `success`, `failed`, `canceled`, `skipped` |
| `ref` | string | no | The `ref` (branch or tag) to which the status refers. Must be 255 characters or fewer. |
@ -839,7 +838,7 @@ GET /projects/:id/repository/commits/:sha/merge_requests
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `sha` | string | yes | The commit SHA |
```shell
@ -912,7 +911,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `sha` | string | yes | The commit hash or name of a repository branch or tag |
```shell

View File

@ -2,10 +2,9 @@
stage: Package
group: Container Registry
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Container registry API
---
# Container registry API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -26,7 +25,7 @@ PUT /projects/:id/
| Attribute | Type | Required | Description |
|-----------------------------------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) accessible by the authenticated user. |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) accessible by the authenticated user. |
| `container_registry_access_level` | string | no | The desired visibility of the container registry. One of `enabled` (default), `private`, or `disabled`. |
Descriptions of the possible values for `container_registry_access_level`:
@ -66,7 +65,7 @@ Example response:
## Container registry pagination
By default, `GET` requests return 20 results at a time because the API results
are [paginated](rest/index.md#pagination).
are [paginated](rest/_index.md#pagination).
## List registry repositories
@ -80,7 +79,7 @@ GET /projects/:id/registry/repositories
| Attribute | Type | Required | Description |
|--------------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) accessible by the authenticated user. |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) accessible by the authenticated user. |
| `tags` | boolean | no | If the parameter is included as true, each repository includes an array of `"tags"` in the response. |
| `tags_count` | boolean | no | If the parameter is included as true, each repository includes `"tags_count"` in the response . |
@ -127,7 +126,7 @@ GET /groups/:id/registry/repositories
| Attribute | Type | Required | Description |
|-----------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) accessible by the authenticated user. |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) accessible by the authenticated user. |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" \
@ -215,7 +214,7 @@ DELETE /projects/:id/registry/repositories/:repository_id
| Attribute | Type | Required | Description |
|-----------------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `repository_id` | integer | yes | The ID of registry repository. |
```shell
@ -240,7 +239,7 @@ GET /projects/:id/registry/repositories/:repository_id/tags
| Attribute | Type | Required | Description |
|-----------------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) accessible by the authenticated user. |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) accessible by the authenticated user. |
| `repository_id` | integer | yes | The ID of registry repository. |
```shell
@ -275,7 +274,7 @@ GET /projects/:id/registry/repositories/:repository_id/tags/:tag_name
| Attribute | Type | Required | Description |
|-----------------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) accessible by the authenticated user. |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) accessible by the authenticated user. |
| `repository_id` | integer | yes | The ID of registry repository. |
| `tag_name` | string | yes | The name of tag. |
@ -309,7 +308,7 @@ DELETE /projects/:id/registry/repositories/:repository_id/tags/:tag_name
| Attribute | Type | Required | Description |
|-----------------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `repository_id` | integer | yes | The ID of registry repository. |
| `tag_name` | string | yes | The name of tag. |
@ -334,7 +333,7 @@ DELETE /projects/:id/registry/repositories/:repository_id/tags
| Attribute | Type | Required | Description |
|---------------------|----------------|----------|-------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `repository_id` | integer | yes | The ID of registry repository. |
| `name_regex` | string | no | The [re2](https://github.com/google/re2/wiki/Syntax) regex of the name to delete. To delete all tags specify `.*`. **Note:** `name_regex` is deprecated in favor of `name_regex_delete`. This field is validated. |
| `name_regex_delete` | string | yes | The [re2](https://github.com/google/re2/wiki/Syntax) regex of the name to delete. To delete all tags specify `.*`. This field is validated. |

View File

@ -3,10 +3,9 @@ stage: Package
group: Container Registry
info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments"
description: "Documentation for the REST API for container repository protection rules in GitLab."
title: Container repository protection rules API
---
# Container repository protection rules API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed
@ -27,7 +26,7 @@ Supported attributes:
| Attribute | Type | Required | Description |
|-------------------------------|-----------------|----------|--------------------------------|
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
If successful, returns [`200`](rest/troubleshooting.md#status-codes) and a list of container repository protection rules.
@ -80,7 +79,7 @@ Supported attributes:
| Attribute | Type | Required | Description |
|-----------------------------------|----------------|----------|-------------|
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `repository_path_pattern` | string | Yes | Container repository path pattern protected by the protection rule. For example `flight/flight-*`. Wildcard character `*` allowed. |
| `minimum_access_level_for_push` | string | No | Minimum GitLab access level required to push container images to the container registry. For example `maintainer`, `owner` or `admin`. Must be provided when `minimum_access_level_for_delete` is not set. |
| `minimum_access_level_for_delete` | string | No | Minimum GitLab access level required to delete container images in the container registry. For example `maintainer`, `owner`, `admin`. Must be provided when `minimum_access_level_for_push` is not set. |
@ -124,7 +123,7 @@ Supported attributes:
| Attribute | Type | Required | Description |
|-----------------------------------|----------------|----------|-------------|
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `protection_rule_id` | integer | Yes | ID of the protection rule to be updated. |
| `repository_path_pattern` | string | No | Container repository path pattern protected by the protection rule. For example `flight/flight-*`. Wildcard character `*` allowed. |
| `minimum_access_level_for_push` | string | No | Minimum GitLab access level required to push container images to the container registry. For example `maintainer`, `owner` or `admin`. Must be provided when `minimum_access_level_for_delete` is not set. To unset the value, use an empty string `""`. |
@ -167,7 +166,7 @@ Supported attributes:
| Attribute | Type | Required | Description |
|----------------------|----------------|----------|-------------|
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `protection_rule_id` | integer | Yes | ID of the container repository protection rule to be deleted. |
If successful, returns [`204 No Content`](rest/troubleshooting.md#status-codes).

View File

@ -2,10 +2,9 @@
stage: Plan
group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Custom Attributes API
---
# Custom Attributes API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Data Access
group: Database Frameworks
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Database migrations API
---
# Database migrations API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab Self-Managed

View File

@ -2,10 +2,9 @@
stage: Application Security Testing
group: Composition Analysis
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Dependencies API
---
# Dependencies API
DETAILS:
**Tier:** Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -29,7 +28,7 @@ GET /projects/:id/dependencies?package_manager=yarn,bundler
| Attribute | Type | Required | Description |
| ------------- | -------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `package_manager` | string array | no | Returns dependencies belonging to specified package manager. Valid values: `bundler`, `composer`, `conan`, `go`, `gradle`, `maven`, `npm`, `nuget`, `pip`, `pipenv`, `pnpm`, `yarn`, `sbt`, or `setuptools`. |
```shell
@ -81,4 +80,4 @@ Example response:
By default, `GET` requests return 20 results at a time because the API results
are paginated.
Read more on [pagination](rest/index.md#pagination).
Read more on [pagination](rest/_index.md#pagination).

View File

@ -2,10 +2,9 @@
stage: Security Risk Management
group: Security Insights
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Dependency list export API
---
# Dependency list export API
DETAILS:
**Tier:** Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Package
group: Container Registry
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Dependency Proxy API
---
# Dependency Proxy API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -21,7 +20,7 @@ DELETE /groups/:id/dependency_proxy/cache
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
Example request:

View File

@ -2,10 +2,9 @@
stage: Deploy
group: Environments
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Deploy keys API
---
# Deploy keys API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -156,7 +155,7 @@ GET /projects/:id/deploy_keys
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/deploy_keys"
@ -260,7 +259,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `key_id` | integer | yes | The ID of the deploy key |
```shell
@ -295,7 +294,7 @@ POST /projects/:id/deploy_keys
| Attribute | Type | Required | Description |
| ----------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `key` | string | yes | New deploy key |
| `title` | string | yes | New deploy key's title |
| `can_push` | boolean | no | Can deploy key push to the project's repository |
@ -330,7 +329,7 @@ PUT /projects/:id/deploy_keys/:key_id
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `can_push` | boolean | no | Can deploy key push to the project's repository |
| `title` | string | no | New deploy key's title |
@ -362,7 +361,7 @@ DELETE /projects/:id/deploy_keys/:key_id
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `key_id` | integer | yes | The ID of the deploy key |
```shell
@ -379,7 +378,7 @@ POST /projects/:id/deploy_keys/:key_id/enable
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `key_id` | integer | yes | The ID of the deploy key |
```shell

View File

@ -2,10 +2,9 @@
stage: Deploy
group: Environments
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Deploy Tokens API
---
# Deploy Tokens API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -70,7 +69,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:---------------|:---------------|:-----------------------|:------------|
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `active` | boolean | No | Limit by active status. |
Example request:
@ -110,7 +109,7 @@ Parameters:
| Attribute | Type | Required | Description |
| ---------- | -------------- | ---------------------- | ----------- |
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `token_id` | integer | Yes | ID of the deploy token |
Example request:
@ -148,7 +147,7 @@ Parameters:
| Attribute | Type | Required | Description |
| ------------ | ---------------- | ---------------------- | ----------- |
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `name` | string | Yes | New deploy token's name |
| `scopes` | array of strings | Yes | Indicates the deploy token scopes. Must be at least one of `read_repository`, `read_registry`, `write_registry`, `read_package_registry`, or `write_package_registry`. |
| `expires_at` | datetime | No | Expiration date for the deploy token. Does not expire if no value is provided. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
@ -191,7 +190,7 @@ Parameters:
| Attribute | Type | Required | Description |
| ---------- | -------------- | ---------------------- | ----------- |
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | Yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `token_id` | integer | Yes | ID of the deploy token |
Example request:
@ -218,7 +217,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:---------------|:---------------|:-----------------------|:------------|
| `id` | integer/string | Yes | ID or [URL-encoded path of the group](rest/index.md#namespaced-paths). |
| `id` | integer/string | Yes | ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths). |
| `active` | boolean | No | Limit by active status. |
Example request:
@ -258,7 +257,7 @@ Parameters:
| Attribute | Type | Required | Description |
| ----------- | -------------- | ---------------------- | ----------- |
| `id` | integer/string | Yes | ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | Yes | ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `token_id` | integer | Yes | ID of the deploy token |
Example request:
@ -296,7 +295,7 @@ Parameters:
| Attribute | Type | Required | Description |
| ------------ | ---- | --------- | ----------- |
| `id` | integer/string | Yes | ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | Yes | ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `name` | string | Yes | New deploy token's name |
| `scopes` | array of strings | Yes | Indicates the deploy token scopes. Must be at least one of `read_repository`, `read_registry`, `write_registry`, `read_package_registry`, or `write_package_registry`. |
| `expires_at` | datetime | No | Expiration date for the deploy token. Does not expire if no value is provided. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`) |
@ -339,7 +338,7 @@ Parameters:
| Attribute | Type | Required | Description |
| ----------- | -------------- | ---------------------- | ----------- |
| `id` | integer/string | Yes | ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | Yes | ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `token_id` | integer | Yes | ID of the deploy token |
Example request:

View File

@ -2,10 +2,9 @@
stage: Deploy
group: Environments
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Deployments API
---
# Deployments API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -22,7 +21,7 @@ GET /projects/:id/deployments
| Attribute | Type | Required | Description |
|-------------------|----------------|----------|-----------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `order_by` | string | no | Return deployments ordered by either one of `id`, `iid`, `created_at`, `updated_at`, `finished_at` or `ref` fields. Default is `id`. |
| `sort` | string | no | Return deployments sorted in `asc` or `desc` order. Default is `asc`. |
| `updated_after` | datetime | no | Return deployments updated after the specified date. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). |
@ -200,7 +199,7 @@ GET /projects/:id/deployments/:deployment_id
| Attribute | Type | Required | Description |
|-----------|---------|----------|---------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `deployment_id` | integer | yes | The ID of the deployment |
```shell
@ -334,7 +333,7 @@ POST /projects/:id/deployments
| Attribute | Type | Required | Description |
|---------------|----------------|----------|-----------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths).|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths).|
| `environment` | string | yes | The [name of the environment](../ci/environments/index.md) to create the deployment for. |
| `sha` | string | yes | The SHA of the commit that is deployed. |
| `ref` | string | yes | The name of the branch or tag that is deployed. |
@ -392,7 +391,7 @@ PUT /projects/:id/deployments/:deployment_id
| Attribute | Type | Required | Description |
|------------------|----------------|----------|---------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `deployment_id` | integer | yes | The ID of the deployment to update. |
| `status` | string | yes | The new status of the deployment. One of `running`, `success`, `failed`, or `canceled`. |
@ -462,7 +461,7 @@ DELETE /projects/:id/deployments/:deployment_id
| Attribute | Type | Required | Description |
|-----------|---------|----------|---------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `deployment_id` | integer | yes | The ID of the deployment |
```shell
@ -523,7 +522,7 @@ POST /projects/:id/deployments/:deployment_id/approval
| Attribute | Type | Required | Description |
|-----------------|----------------|----------|-----------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `deployment_id` | integer | yes | The ID of the deployment. |
| `status` | string | yes | The status of the approval (either `approved` or `rejected`). |
| `comment` | string | no | A comment to go with the approval |

View File

@ -2,10 +2,9 @@
stage: Create
group: Source Code
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Discussions API
---
# Discussions API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -40,7 +39,7 @@ Not all discussion types are equally available in the API:
By default, `GET` requests return 20 results at a time because the API results are paginated.
Read more on [pagination](rest/index.md#pagination).
Read more on [pagination](rest/_index.md#pagination).
## Issues
@ -54,7 +53,7 @@ GET /projects/:id/issues/:issue_iid/discussions
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ------------ |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid` | integer | yes | The IID of an issue. |
```json
@ -156,7 +155,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------------- | -------------- | -------- | ----------- |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid` | integer | yes | The IID of an issue. |
| `discussion_id` | integer | yes | The ID of a discussion item. |
@ -178,7 +177,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------------- | -------------- | -------- | ----------- |
| `body` | string | yes | The content of the thread. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid` | integer | yes | The IID of an issue. |
| `created_at` | string | no | Date time string, ISO 8601 formatted, such as `2016-03-11T03:45:40Z`. Requires administrator or project/group owner rights. |
@ -205,7 +204,7 @@ Parameters:
| --------------- | -------------- | -------- | ----------- |
| `body` | string | yes | The content of the note or reply. |
| `discussion_id` | integer | yes | The ID of a thread. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid` | integer | yes | The IID of an issue. |
| `note_id` | integer | yes | The ID of a thread note. |
| `created_at` | string | no | Date time string, ISO 8601 formatted, such as `2016-03-11T03:45:40Z`. Requires administrator or project/group owner rights. |
@ -230,7 +229,7 @@ Parameters:
| --------------- | -------------- | -------- | ----------- |
| `body` | string | yes | The content of the note or reply. |
| `discussion_id` | integer | yes | The ID of a thread. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid` | integer | yes | The IID of an issue. |
| `note_id` | integer | yes | The ID of a thread note. |
@ -253,7 +252,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------------- | -------------- | -------- | ----------- |
| `discussion_id` | integer | yes | The ID of a discussion. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid` | integer | yes | The IID of an issue. |
| `note_id` | integer | yes | The ID of a discussion note. |
@ -275,7 +274,7 @@ GET /projects/:id/snippets/:snippet_id/discussions
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `snippet_id` | integer | yes | The ID of an snippet. |
```json
@ -378,7 +377,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------------- | -------------- | -------- | ----------- |
| `discussion_id` | integer | yes | The ID of a discussion item. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `snippet_id` | integer | yes | The ID of an snippet. |
```shell
@ -401,7 +400,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------------- | -------------- | -------- | ----------- |
| `body` | string | yes | The content of a discussion. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `snippet_id` | integer | yes | The ID of an snippet. |
| `created_at` | string | no | Date time string, ISO 8601 formatted, such as `2016-03-11T03:45:40Z`. Requires administrator or project/group owner rights. |
@ -425,7 +424,7 @@ Parameters:
| --------------- | -------------- | -------- | ----------- |
| `body` | string | yes | The content of the note or reply. |
| `discussion_id` | integer | yes | The ID of a thread. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `note_id` | integer | yes | The ID of a thread note. |
| `snippet_id` | integer | yes | The ID of an snippet. |
| `created_at` | string | no | Date time string, ISO 8601 formatted, such as `2016-03-11T03:45:40Z`. Requires administrator or project/group owner rights. |
@ -450,7 +449,7 @@ Parameters:
| --------------- | -------------- | -------- | ----------- |
| `body` | string | yes | The content of the note or reply. |
| `discussion_id` | integer | yes | The ID of a thread. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `note_id` | integer | yes | The ID of a thread note. |
| `snippet_id` | integer | yes | The ID of an snippet. |
@ -473,7 +472,7 @@ Parameters:
| Attribute | Type | Required | Description |
| --------------- | -------------- | -------- | ----------- |
| `discussion_id` | integer | yes | The ID of a discussion. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `note_id` | integer | yes | The ID of a discussion note. |
| `snippet_id` | integer | yes | The ID of an snippet. |
@ -493,7 +492,7 @@ WARNING:
The Epics REST API was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/460668) in GitLab 17.0
and is planned for removal in v5 of the API.
In GitLab 17.4 or later, if your administrator [enabled the new look for epics](../user/group/epics/epic_work_items.md), use the
[Work Items API](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/work_items/) instead. For more information, see the [guide how to migrate your existing APIs](../api/graphql/epic_work_items_api_migration_guide.md).
[Work Items API](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/work_items/) instead. For more information, see the [guide how to migrate your existing APIs](graphql/epic_work_items_api_migration_guide.md).
This change is a breaking change.
### List group epic discussion items
@ -507,7 +506,7 @@ GET /groups/:id/epics/:epic_id/discussions
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ------------ |
| `epic_id` | integer | yes | The ID of an epic. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths). |
```json
[
@ -611,7 +610,7 @@ Parameters:
| --------------- | -------------- | -------- | ----------- |
| `discussion_id` | integer | yes | The ID of a discussion item. |
| `epic_id` | integer | yes | The ID of an epic. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths). |
```shell
curl --request POST \
@ -634,7 +633,7 @@ Parameters:
| --------------- | -------------- | -------- | ----------- |
| `body` | string | yes | The content of the thread. |
| `epic_id` | integer | yes | The ID of an epic. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths). |
| `created_at` | string | no | Date time string, ISO 8601 formatted, such as `2016-03-11T03:45:40Z`. Requires administrator or project/group owner rights. |
```shell
@ -659,7 +658,7 @@ Parameters:
| `body` | string | yes | The content of the note or reply. |
| `discussion_id` | integer | yes | The ID of a thread. |
| `epic_id` | integer | yes | The ID of an epic. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths). |
| `note_id` | integer | yes | The ID of a thread note. |
| `created_at` | string | no | Date time string, ISO 8601 formatted, such as `2016-03-11T03:45:40Z`. Requires administrator or project/group owner rights. |
@ -684,7 +683,7 @@ Parameters:
| `body` | string | yes | The content of note or reply. |
| `discussion_id` | integer | yes | The ID of a thread. |
| `epic_id` | integer | yes | The ID of an epic. |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths). |
| `note_id` | integer | yes | The ID of a thread note. |
```shell
@ -707,7 +706,7 @@ Parameters:
| --------------- | -------------- | -------- | ----------- |
| `discussion_id` | integer | yes | The ID of a thread. |
| `epic_id` | integer | yes | The ID of an epic. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths). |
| `note_id` | integer | yes | The ID of a thread note. |
```shell
@ -728,7 +727,7 @@ GET /projects/:id/merge_requests/:merge_request_iid/discussions
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ------------ |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `merge_request_iid` | integer | yes | The IID of a merge request. |
```json
@ -897,7 +896,7 @@ Parameters:
| Attribute | Type | Required | Description |
| ------------------- | -------------- | -------- | ----------- |
| `discussion_id` | string | yes | The ID of a discussion item. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `merge_request_iid` | integer | yes | The IID of a merge request. |
```shell
@ -921,7 +920,7 @@ Parameters for all comments:
| Attribute | Type | Required | Description |
| ---------------------------------------- | -------------- |--------------------------------------| ----------- |
| `body` | string | yes | The content of the thread. |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `merge_request_iid` | integer | yes | The IID of a merge request. |
| `position[base_sha]` | string | yes (if `position*` is supplied) | Base commit SHA in the source branch. |
| `position[head_sha]` | string | yes (if `position*` is supplied) | SHA referencing HEAD of this merge request. |
@ -1069,7 +1068,7 @@ Parameters:
| Attribute | Type | Required | Description |
| ------------------- | -------------- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `discussion_id` | string | yes | The ID of a thread. |
| `merge_request_iid` | integer | yes | The IID of a merge request. |
| `resolved` | boolean | yes | Resolve or unresolve the discussion. |
@ -1094,7 +1093,7 @@ Parameters:
| Attribute | Type | Required | Description |
| ------------------- | -------------- | -------- | ----------- |
| `body` | string | yes | The content of the note or reply. |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `discussion_id` | string | yes | The ID of a thread. |
| `merge_request_iid` | integer | yes | The IID of a merge request. |
| `note_id` | integer | yes | The ID of a thread note. |
@ -1119,7 +1118,7 @@ Parameters:
| Attribute | Type | Required | Description |
| ------------------- | -------------- | -------- | ----------- |
| `discussion_id` | string | yes | The ID of a thread. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `merge_request_iid` | integer | yes | The IID of a merge request. |
| `note_id` | integer | yes | The ID of a thread note. |
| `body` | string | no | The content of the note or reply. Exactly one of `body` or `resolved` must be set. |
@ -1152,7 +1151,7 @@ Parameters:
| Attribute | Type | Required | Description |
| ------------------- | -------------- | -------- | ----------- |
| `discussion_id` | string | yes | The ID of a thread. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `merge_request_iid` | integer | yes | The IID of a merge request. |
| `note_id` | integer | yes | The ID of a thread note. |
@ -1175,7 +1174,7 @@ GET /projects/:id/repository/commits/:commit_id/discussions
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ------------ |
| `commit_id` | string | yes | The SHA of a commit. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
```json
[
@ -1324,7 +1323,7 @@ Parameters:
| ------------------- | -------------- | -------- | ----------- |
| `commit_id` | string | yes | The SHA of a commit. |
| `discussion_id` | string | yes | The ID of a discussion item. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" \
@ -1346,7 +1345,7 @@ Parameters:
| ------------------------- | -------------- |----------------------------------| ----------- |
| `body` | string | yes | The content of the thread. |
| `commit_id` | string | yes | The SHA of a commit. |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `position[base_sha]` | string | yes (if `position*` is supplied) | SHA of the parent commit. |
| `position[head_sha]` | string | yes (if `position*` is supplied) | The SHA of this commit. Same as `commit_id`. |
| `position[start_sha]` | string | yes (if `position*` is supplied) | SHA of the parent commit. |
@ -1392,7 +1391,7 @@ Parameters:
| `body` | string | yes | The content of the note or reply. |
| `commit_id` | string | yes | The SHA of a commit. |
| `discussion_id` | string | yes | The ID of a thread. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `note_id` | integer | yes | The ID of a thread note. |
| `created_at` | string | no | Date time string, ISO 8601 formatted, such `2016-03-11T03:45:40Z`. Requires administrator or project/group owner rights. |
@ -1416,7 +1415,7 @@ Parameters:
| ------------------- | -------------- | -------- | ----------- |
| `commit_id` | string | yes | The SHA of a commit. |
| `discussion_id` | string | yes | The ID of a thread. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `note_id` | integer | yes | The ID of a thread note. |
| `body` | string | no | The content of a note. |
@ -1446,7 +1445,7 @@ Parameters:
| Attribute | Type | Required | Description |
| ------------------- | -------------- | -------- | ----------- |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `commit_id` | string | yes | The SHA of a commit. |
| `discussion_id` | string | yes | The ID of a thread. |
| `note_id` | integer | yes | The ID of a thread note. |

View File

@ -10,7 +10,7 @@ DETAILS:
**Tier:** Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
You can also retrieve [DORA metrics](../../user/analytics/dora_metrics.md) with the [GraphQL API](../../api/graphql/reference/_index.md).
You can also retrieve [DORA metrics](../../user/analytics/dora_metrics.md) with the [GraphQL API](../graphql/reference/_index.md).
All methods require at least the Reporter role.
@ -24,7 +24,7 @@ GET /projects/:id/dora/metrics
| Attribute | Type | Required | Description |
|:---------------------|:-----------------|:---------|:------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](../rest/index.md#namespaced-paths) can be accessed by the authenticated user. |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](../rest/_index.md#namespaced-paths) can be accessed by the authenticated user. |
| `metric` | string | yes | One of `deployment_frequency`, `lead_time_for_changes`, `time_to_restore_service` or `change_failure_rate`. |
| `end_date` | string | no | Date range to end at. ISO 8601 Date format, for example `2021-03-01`. Default is the current date. |
| `environment_tiers` | array of strings | no | The [tiers of the environments](../../ci/environments/index.md#deployment-tier-of-environments). Default is `production`. |
@ -62,7 +62,7 @@ GET /groups/:id/dora/metrics
| Attribute | Type | Required | Description |
|:--------------------|:-----------------|:---------|:------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](../rest/index.md#namespaced-paths) can be accessed by the authenticated user. |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](../rest/_index.md#namespaced-paths) can be accessed by the authenticated user. |
| `metric` | string | yes | One of `deployment_frequency`, `lead_time_for_changes`, `time_to_restore_service` or `change_failure_rate`. |
| `end_date` | string | no | Date range to end at. ISO 8601 Date format, for example `2021-03-01`. Default is the current date. |
| `environment_tiers` | array of strings | no | The [tiers of the environments](../../ci/environments/index.md#deployment-tier-of-environments). Default is `production`. |

View File

@ -3,10 +3,9 @@ stage: Create
group: Code Review
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
description: "Documentation for the REST API for draft notes (unpublished comments) in GitLab."
title: Draft Notes API
---
# Draft Notes API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -28,7 +27,7 @@ GET /projects/:id/merge_requests/:merge_request_iid/draft_notes
| Attribute | Type | Required | Description |
|---------------------|-------------------|----------|-------------|
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `merge_request_iid` | integer | yes | The IID of a project merge request |
```json
@ -71,7 +70,7 @@ GET /projects/:id/merge_requests/:merge_request_iid/draft_notes/:draft_note_id
| Attribute | Type | Required | Description |
|---------------------|-------------------|----------|-------------|
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `draft_note_id` | integer | yes | The ID of a draft note. |
| `merge_request_iid` | integer | yes | The IID of a project merge request. |
@ -115,7 +114,7 @@ POST /projects/:id/merge_requests/:merge_request_iid/draft_notes
| Attribute | Type | Required | Description |
| ---------------------------------------- | ----------------- | ----------- | --------------------- |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `merge_request_iid` | integer | yes | The IID of a project merge request. |
| `note` | string | yes | The content of a note. |
| `commit_id` | string | no | The SHA of a commit to associate the draft note to. |
@ -151,7 +150,7 @@ PUT /projects/:id/merge_requests/:merge_request_iid/draft_notes/:draft_note_id
| Attribute | Type | Required | Description |
| ------------------- | ----------------- | ----------- | --------------------- |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `draft_note_id` | integer | yes | The ID of a draft note. |
| `merge_request_iid` | integer | yes | The IID of a project merge request. |
| `note` | string | no | The content of a note. |
@ -187,7 +186,7 @@ DELETE /projects/:id/merge_requests/:merge_request_iid/draft_notes/:draft_note_i
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ----------- | --------------------- |
| `draft_note_id` | integer | yes | The ID of a draft note. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `merge_request_iid` | integer | yes | The IID of a project merge request. |
```shell
@ -207,7 +206,7 @@ PUT /projects/:id/merge_requests/:merge_request_iid/draft_notes/:draft_note_id/p
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ----------- | --------------------- |
| `draft_note_id` | integer | yes | The ID of a draft note. |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `merge_request_iid` | integer | yes | The IID of a project merge request. |
```shell
@ -226,7 +225,7 @@ POST /projects/:id/merge_requests/:merge_request_iid/draft_notes/bulk_publish
| Attribute | Type | Required | Description |
|---------------------|-------------------|----------|-------------|
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `merge_request_iid` | integer | yes | The IID of a project merge request. |
```shell

View File

@ -2,10 +2,9 @@
stage: Plan
group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Emoji reactions API
---
# Emoji reactions API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -43,7 +42,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:---------------|:---------------|:---------|:-----------------------------------------------------------------------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid`/`merge_request_iid`/`snippet_id` | integer | yes | ID (`iid` for merge requests/issues, `id` for snippets) of an awardable. |
Example request:
@ -108,7 +107,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:---------------|:---------------|:---------|:-----------------------------------------------------------------------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid`/`merge_request_iid`/`snippet_id` | integer | yes | ID (`iid` for merge requests/issues, `id` for snippets) of an awardable. |
| `award_id` | integer | yes | ID of the emoji reaction. |
@ -153,7 +152,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:---------------|:---------------|:---------|:-----------------------------------------------------------------------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid`/`merge_request_iid`/`snippet_id` | integer | yes | ID (`iid` for merge requests/issues, `id` for snippets) of an awardable. |
| `name` | string | yes | Name of the emoji without colons. |
@ -198,7 +197,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:---------------|:---------------|:---------|:-----------------------------------------------------------------------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid`/`merge_request_iid`/`snippet_id` | integer | yes | ID (`iid` for merge requests/issues, `id` for snippets) of an awardable. |
| `award_id` | integer | yes | ID of an emoji reaction. |
@ -230,7 +229,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:------------|:---------------|:---------|:-----------------------------------------------------------------------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid` | integer | yes | Internal ID of an issue. |
| `note_id` | integer | yes | ID of a comment (note). |
@ -278,7 +277,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:------------|:---------------|:---------|:-----------------------------------------------------------------------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid` | integer | yes | Internal ID of an issue. |
| `note_id` | integer | yes | ID of a comment (note). |
| `award_id` | integer | yes | ID of the emoji reaction. |
@ -322,7 +321,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:------------|:---------------|:---------|:-----------------------------------------------------------------------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid` | integer | yes | Internal ID of an issue. |
| `note_id` | integer | yes | ID of a comment (note). |
| `name` | string | yes | Name of the emoji without colons. |
@ -368,7 +367,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:------------|:---------------|:---------|:-----------------------------------------------------------------------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `issue_iid` | integer | yes | Internal ID of an issue. |
| `note_id` | integer | yes | ID of a comment (note). |
| `award_id` | integer | yes | ID of an emoji reaction. |

View File

@ -2,10 +2,9 @@
stage: Deploy
group: Environments
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Environments API
---
# Environments API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -23,7 +22,7 @@ GET /projects/:id/environments
| Attribute | Type | Required | Description |
|-----------|----------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded](rest/index.md#namespaced-paths) path of the project. |
| `id` | integer/string | yes | The ID or [URL-encoded](rest/_index.md#namespaced-paths) path of the project. |
| `name` | string | no | Return the environment with this name. Mutually exclusive with `search`. |
| `search` | string | no | Return list of environments matching the search criteria. Mutually exclusive with `name`. Must be at least 3 characters long. |
| `states` | string | no | List all environments that match a specific state. Accepted values: `available`, `stopping`, or `stopped`. If no state value given, returns all environments. |
@ -65,7 +64,7 @@ GET /projects/:id/environments/:environment_id
| Attribute | Type | Required | Description |
|------------------|----------------|----------|--------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path](rest/index.md#namespaced-paths) of the project. |
| `id` | integer/string | yes | The ID or [URL-encoded path](rest/_index.md#namespaced-paths) of the project. |
| `environment_id` | integer | yes | The ID of the environment. |
```shell
@ -205,7 +204,7 @@ POST /projects/:id/environments
| Attribute | Type | Required | Description |
|------------------------|----------------|----------|---------------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path](rest/index.md#namespaced-paths) of the project. |
| `id` | integer/string | yes | The ID or [URL-encoded path](rest/_index.md#namespaced-paths) of the project. |
| `name` | string | yes | The name of the environment. |
| `description` | string | no | The description of the environment. |
| `external_url` | string | no | Place to link to for this environment. |
@ -254,7 +253,7 @@ PUT /projects/:id/environments/:environments_id
| Attribute | Type | Required | Description |
|------------------------|-----------------|----------|---------------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `environment_id` | integer | yes | The ID of the environment. |
| `description` | string | no | The description of the environment. |
| `external_url` | string | no | The new `external_url`. |
@ -300,7 +299,7 @@ DELETE /projects/:id/environments/:environment_id
| Attribute | Type | Required | Description |
|------------------|----------------|----------|--------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path](rest/index.md#namespaced-paths) of the project. |
| `id` | integer/string | yes | The ID or [URL-encoded path](rest/_index.md#namespaced-paths) of the project. |
| `environment_id` | integer | yes | The ID of the environment. |
```shell
@ -323,7 +322,7 @@ DELETE /projects/:id/environments/review_apps
| Attribute | Type | Required | Description |
|-----------|----------------|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path](rest/index.md#namespaced-paths) of the project. |
| `id` | integer/string | yes | The ID or [URL-encoded path](rest/_index.md#namespaced-paths) of the project. |
| `before` | datetime | no | The date before which environments can be deleted. Defaults to 30 days ago. Expected in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`). |
| `limit` | integer | no | Maximum number of environments to delete. Defaults to 100. |
| `dry_run` | boolean | no | Defaults to `true` for safety reasons. It performs a dry run where no actual deletion is performed. Set to `false` to actually delete the environment. |
@ -366,7 +365,7 @@ POST /projects/:id/environments/:environment_id/stop
| Attribute | Type | Required | Description |
|------------------|----------------|----------|--------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path](rest/index.md#namespaced-paths) of the project. |
| `id` | integer/string | yes | The ID or [URL-encoded path](rest/_index.md#namespaced-paths) of the project. |
| `environment_id` | integer | yes | The ID of the environment. |
| `force` | boolean | no | Force environment to stop without executing `on_stop` actions. |
@ -403,7 +402,7 @@ POST /projects/:id/environments/stop_stale
| Attribute | Type | Required | Description |
|-----------|----------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path](rest/index.md#namespaced-paths) of the project. |
| `id` | integer/string | yes | The ID or [URL-encoded path](rest/_index.md#namespaced-paths) of the project. |
| `before` | date | yes | Stop environments that have been modified or deployed to before the specified date. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). Valid inputs are between 10 years ago and 1 week ago |
```shell

View File

@ -2,10 +2,9 @@
stage: Plan
group: Product Planning
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Epic Issues API
---
# Epic Issues API
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -14,7 +13,7 @@ WARNING:
The Epics REST API was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/460668) in GitLab 17.0
and is planned for removal in v5 of the API.
In GitLab 17.4 or later, if your administrator [enabled the new look for epics](../user/group/epics/epic_work_items.md), use the
[Work Items API](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/work_items/) instead. For more information, see the [guide how to migrate your existing APIs](../api/graphql/epic_work_items_api_migration_guide.md).
[Work Items API](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/work_items/) instead. For more information, see the [guide how to migrate your existing APIs](graphql/epic_work_items_api_migration_guide.md).
This change is a breaking change.
Every API call to the epic issues API endpoint must be authenticated.
@ -27,7 +26,7 @@ If the Epics feature is not available, a `403` status code is returned.
## Epic Issues pagination
API results [are paginated](rest/index.md#pagination). Requests that return
API results [are paginated](rest/_index.md#pagination). Requests that return
multiple issues default to returning 20 results at a time.
## List issues for an epic
@ -40,7 +39,7 @@ GET /groups/:id/epics/:epic_iid/issues
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `epic_iid` | integer/string | yes | The internal ID of the epic. |
```shell
@ -135,7 +134,7 @@ POST /groups/:id/epics/:epic_iid/issues/:issue_id
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `epic_iid` | integer/string | yes | The internal ID of the epic. |
| `issue_id` | integer/string | yes | The ID of the issue. |
@ -241,7 +240,7 @@ DELETE /groups/:id/epics/:epic_iid/issues/:epic_issue_id
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | -----------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `epic_iid` | integer/string | yes | The internal ID of the epic. |
| `epic_issue_id` | integer/string | yes | The ID of the issue - epic association. |
@ -347,7 +346,7 @@ PUT /groups/:id/epics/:epic_iid/issues/:epic_issue_id
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | -----------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `epic_iid` | integer/string | yes | The internal ID of the epic. |
| `epic_issue_id` | integer/string | yes | The ID of the issue - epic association. |
| `move_before_id` | integer/string | no | The ID of the issue - epic association that should be placed before the link in the question. |

View File

@ -2,10 +2,9 @@
stage: Plan
group: Product Planning
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Epic Links API
---
# Epic Links API
DETAILS:
**Tier:** Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -14,7 +13,7 @@ WARNING:
The Epics REST API was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/460668) in GitLab 17.0
and is planned for removal in v5 of the API.
In GitLab 17.4 or later, if your administrator [enabled the new look for epics](../user/group/epics/epic_work_items.md), use the
[Work Items API](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/work_items/) instead. For more information, see the [guide how to migrate your existing APIs](../api/graphql/epic_work_items_api_migration_guide.md).
[Work Items API](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/work_items/) instead. For more information, see the [guide how to migrate your existing APIs](graphql/epic_work_items_api_migration_guide.md).
This change is a breaking change.
Manages parent-child [epic relationships](../user/group/epics/manage_epics.md#multi-level-child-epics).
@ -37,7 +36,7 @@ GET /groups/:id/epics/:epic_iid/epics
| Attribute | Type | Required | Description |
| ---------- | -------------- | -------- | ------------------------------------------------------------------------------------------------------------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `epic_iid` | integer | yes | The internal ID of the epic. |
```shell
@ -91,7 +90,7 @@ POST /groups/:id/epics/:epic_iid/epics/:child_epic_id
| Attribute | Type | Required | Description |
| --------------- | -------------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `epic_iid` | integer | yes | The internal ID of the epic. |
| `child_epic_id` | integer | yes | The global ID of the child epic. Internal ID can't be used because they can conflict with epics from other groups. |
@ -144,7 +143,7 @@ POST /groups/:id/epics/:epic_iid/epics
| Attribute | Type | Required | Description |
| --------------- | -------------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `epic_iid` | integer | yes | The internal ID of the (future parent) epic. |
| `title` | string | yes | The title of a newly created epic. |
| `confidential` | boolean | no | Whether the epic should be confidential. Parameter is ignored if `confidential_epics` feature flag is disabled. Defaults to the confidentiality state of the parent epic. |
@ -178,7 +177,7 @@ PUT /groups/:id/epics/:epic_iid/epics/:child_epic_id
| Attribute | Type | Required | Description |
| ---------------- | -------------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths). |
| `epic_iid` | integer | yes | The internal ID of the epic. |
| `child_epic_id` | integer | yes | The global ID of the child epic. Internal ID can't be used because they can conflict with epics from other groups. |
| `move_before_id` | integer | no | The global ID of a sibling epic that should be placed before the child epic. |
@ -235,7 +234,7 @@ DELETE /groups/:id/epics/:epic_iid/epics/:child_epic_id
| Attribute | Type | Required | Description |
| --------------- | -------------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths). |
| `epic_iid` | integer | yes | The internal ID of the epic. |
| `child_epic_id` | integer | yes | The global ID of the child epic. Internal ID can't be used because they can conflict with epics from other groups. |

View File

@ -2,10 +2,9 @@
stage: Plan
group: Product Planning
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Epics API (deprecated)
---
# Epics API (deprecated)
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -14,7 +13,7 @@ WARNING:
The Epics REST API was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/460668) in GitLab 17.0
and is planned for removal in v5 of the API.
In GitLab 17.4 or later, if your administrator [enabled the new look for epics](../user/group/epics/epic_work_items.md), use the
[Work Items API](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/work_items/) instead. For more information, see the [guide how to migrate your existing APIs](../api/graphql/epic_work_items_api_migration_guide.md).
[Work Items API](https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/work_items/) instead. For more information, see the [guide how to migrate your existing APIs](graphql/epic_work_items_api_migration_guide.md).
This change is a breaking change.
Every API call to epic must be authenticated.
@ -43,7 +42,7 @@ fields `start_date_is_fixed` and `due_date_is_fixed`, and four date fields `star
By default, `GET` requests return 20 results at a time because the API results
are paginated.
Read more on [pagination](rest/index.md#pagination).
Read more on [pagination](rest/_index.md#pagination).
WARNING:
In [GitLab 12.6](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20354) and later,
@ -67,7 +66,7 @@ GET /groups/:id/epics?state=opened
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `author_id` | integer | no | Return epics created by the given user `id` |
| `author_username` | string | no | Return epics created by the user with the given `username`. |
| `labels` | string | no | Return epics matching a comma-separated list of labels names. Label names from the epic group or a parent group can be used |
@ -207,7 +206,7 @@ GET /groups/:id/epics/:epic_iid
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `epic_iid` | integer/string | yes | The internal ID of the epic. |
```shell
@ -286,7 +285,7 @@ POST /groups/:id/epics
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `title` | string | yes | The title of the epic |
| `labels` | string | no | The comma-separated list of labels |
| `description` | string | no | The description of the epic. Limited to 1,048,576 characters. |
@ -370,7 +369,7 @@ PUT /groups/:id/epics/:epic_iid
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `epic_iid` | integer/string | yes | The internal ID of the epic |
| `add_labels` | string | no | Comma-separated label names to add to an issue. |
| `confidential` | boolean | no | Whether the epic should be confidential |
@ -454,7 +453,7 @@ DELETE /groups/:id/epics/:epic_iid
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `epic_iid` | integer/string | yes | The internal ID of the epic. |
```shell
@ -473,7 +472,7 @@ POST /groups/:id/epics/:epic_iid/todo
| Attribute | Type | Required | Description |
|-------------|---------|----------|--------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/index.md#namespaced-paths) |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](rest/_index.md#namespaced-paths) |
| `epic_iid` | integer | yes | The internal ID of a group's epic |
```shell

View File

@ -2,10 +2,9 @@
stage: Monitor
group: Platform Insights
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Error Tracking settings API
---
# Error Tracking settings API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -23,7 +22,7 @@ GET /projects/:id/error_tracking/settings
| Attribute | Type | Required | Description |
| --------- | ------- | -------- | --------------------- |
| `id` | integer | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `id` | integer | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" \
@ -60,7 +59,7 @@ Supported attributes:
| Attribute | Type | Required | Description |
| ------------ | ------- |----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `id` | integer | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `active` | boolean | yes | Pass `true` to enable the error tracking setting configuration or `false` to disable it. |
| `integrated` | boolean | yes | Pass `true` to enable the integrated error tracking backend. |
@ -94,7 +93,7 @@ PATCH /projects/:id/error_tracking/settings
| Attribute | Type | Required | Description |
| ------------ | ------- | -------- | --------------------- |
| `id` | integer | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `active` | boolean | yes | Pass `true` to enable the already configured error tracking settings or `false` to disable it. |
| `integrated` | boolean | no | Pass `true` to enable the integrated error tracking backend. |
@ -128,7 +127,7 @@ GET /projects/:id/error_tracking/client_keys
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" \
@ -164,7 +163,7 @@ POST /projects/:id/error_tracking/client_keys
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
```shell
curl --request POST \
@ -194,7 +193,7 @@ DELETE /projects/:id/error_tracking/client_keys/:key_id
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `key_id` | integer | yes | The ID of the client key. |
```shell

View File

@ -2,10 +2,9 @@
stage: none
group: unassigned
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Events API
---
# Events API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -294,7 +293,7 @@ Parameters:
| Attribute | Type | Required | Description |
|---------------|----------------|----------|-----------------------------------------------------------------------------------------------------|
| `project_id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths) |
| `project_id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths) |
| `action` | string | no | Include only events of a particular [action type](#actions) |
| `target_type` | string | no | Include only events of a particular [target type](#target-types) |
| `before` | date | no | Include only events created before a particular date. [View how to format dates](#date-formatting). |

View File

@ -2,10 +2,9 @@
stage: Growth
group: Acquisition
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Experiments API (GitLab team only)
---
# Experiments API (GitLab team only)
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com

View File

@ -2,10 +2,9 @@
stage: Deploy
group: Environments
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Feature flag user lists API
---
# Feature flag user lists API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -19,7 +18,7 @@ Users with at least the Developer [role](../user/permissions.md) can access the
NOTE:
`GET` requests return twenty results at a time because the API results
are [paginated](rest/index.md#pagination). You can change this value.
are [paginated](rest/_index.md#pagination). You can change this value.
## List all feature flag user lists for a project
@ -31,7 +30,7 @@ GET /projects/:id/feature_flags_user_lists
| Attribute | Type | Required | Description |
| --------- | -------------- | -------- | -------------------------------------------------------------------------------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `search` | string | no | Return user lists matching the search criteria. |
```shell
@ -73,7 +72,7 @@ POST /projects/:id/feature_flags_user_lists
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `name` | string | yes | The name of the list. |
| `user_xids` | string | yes | A comma-separated list of external user IDs. |
@ -113,7 +112,7 @@ GET /projects/:id/feature_flags_user_lists/:iid
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `iid` | integer/string | yes | The internal ID of the project's feature flag user list. |
```shell
@ -144,7 +143,7 @@ PUT /projects/:id/feature_flags_user_lists/:iid
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `iid` | integer/string | yes | The internal ID of the project's feature flag user list. |
| `name` | string | no | The name of the list. |
| `user_xids` | string | no | A comma-separated list of external user IDs. |
@ -185,7 +184,7 @@ DELETE /projects/:id/feature_flags_user_lists/:iid
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `iid` | integer/string | yes | The internal ID of the project's feature flag user list |
```shell

View File

@ -2,10 +2,9 @@
stage: Deploy
group: Environments
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Feature flags API
---
# Feature flags API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -20,7 +19,7 @@ Users with at least the Developer [role](../user/permissions.md) can access the
## Feature flags pagination
By default, `GET` requests return 20 results at a time because the API results
are [paginated](rest/index.md#pagination).
are [paginated](rest/_index.md#pagination).
## List feature flags for a project
@ -32,7 +31,7 @@ GET /projects/:id/feature_flags
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `scope` | string | no | The condition of feature flags, one of: `enabled`, `disabled`. |
```shell
@ -132,7 +131,7 @@ GET /projects/:id/feature_flags/:feature_flag_name
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `feature_flag_name` | string | yes | The name of the feature flag. |
```shell
@ -177,7 +176,7 @@ POST /projects/:id/feature_flags
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `name` | string | yes | The name of the feature flag. |
| `version` | string | yes | **Deprecated** The version of the feature flag. Must be `new_version_flag`. Omit to create a Legacy feature flag. |
| `description` | string | no | The description of the feature flag. |
@ -239,7 +238,7 @@ PUT /projects/:id/feature_flags/:feature_flag_name
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `feature_flag_name` | string | yes | The current name of the feature flag. |
| `description` | string | no | The description of the feature flag. |
| `active` | boolean | no | The active state of the flag. |
@ -317,7 +316,7 @@ DELETE /projects/:id/feature_flags/:feature_flag_name
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `feature_flag_name` | string | yes | The name of the feature flag. |
```shell

View File

@ -2,10 +2,9 @@
stage: Deploy
group: Environments
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Feature flags API
---
# Feature flags API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab Self-Managed

View File

@ -2,10 +2,9 @@
stage: Deploy
group: Environments
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Freeze Periods API
---
# Freeze Periods API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -28,7 +27,7 @@ GET /projects/:id/freeze_periods
| Attribute | Type | Required | Description |
| ------------- | -------------- | -------- | ----------------------------------------------------------------------------------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
Example request:
@ -61,7 +60,7 @@ GET /projects/:id/freeze_periods/:freeze_period_id
| Attribute | Type | Required | Description |
| ------------- | -------------- | -------- | ----------------------------------------------------------------------------------- |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `freeze_period_id` | integer | yes | The ID of the freeze period. |
Example request:
@ -93,7 +92,7 @@ POST /projects/:id/freeze_periods
| Attribute | Type | Required | Description |
| -------------------| --------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `freeze_start` | string | yes | Start of the freeze period in [cron](https://crontab.guru/) format. |
| `freeze_end` | string | yes | End of the freeze period in [cron](https://crontab.guru/) format. |
| `cron_timezone` | string | no | The time zone for the cron fields, defaults to UTC if not provided. |
@ -129,7 +128,7 @@ PUT /projects/:id/freeze_periods/:freeze_period_id
| Attribute | Type | Required | Description |
| ------------- | --------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `freeze_period_id` | integer | yes | The ID of the freeze period. |
| `freeze_start` | string | no | Start of the freeze period in [cron](https://crontab.guru/) format. |
| `freeze_end` | string | no | End of the freeze period in [cron](https://crontab.guru/) format. |
@ -166,7 +165,7 @@ DELETE /projects/:id/freeze_periods/:freeze_period_id
| Attribute | Type | Required | Description |
| ------------- | -------------- | -------- | ----------------------------------------------------------------------------------- |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths). |
| `id` | integer or string | yes | The ID or [URL-encoded path of the project](rest/_index.md#namespaced-paths). |
| `freeze_period_id` | integer | yes | The ID of the freeze period. |
Example request:

View File

@ -2,10 +2,9 @@
stage: Systems
group: Geo
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Geo Nodes API (deprecated)
---
# Geo Nodes API (deprecated)
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** GitLab Self-Managed

View File

@ -2,10 +2,9 @@
stage: Systems
group: Geo
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Geo sites API
---
# Geo sites API
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** GitLab Self-Managed

View File

@ -2,10 +2,9 @@
stage: none
group: none
info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments"
title: Get started extending GitLab
---
# Get started extending GitLab
Interact programmatically with GitLab.
Automate tasks, integrate with other tools, and create custom workflows.
GitLab also supports plugins and custom hooks.

View File

@ -2,10 +2,9 @@
stage: Software Supply Chain Security
group: Authentication
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Google Cloud integration API
---
# Google Cloud integration API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com

View File

@ -3,10 +3,9 @@ stage: Foundations
group: Import and Integrate
description: Programmatic interaction with GitLab.
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: GraphQL API
---
# GraphQL API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -68,7 +67,7 @@ If the authentication information is not valid, GitLab returns an error message
Use any of the following tokens to authenticate with the GraphQL API:
- [OAuth 2.0 tokens](../../api/oauth2.md)
- [OAuth 2.0 tokens](../oauth2.md)
- [Personal access tokens](../../user/profile/personal_access_tokens.md)
- [Project access tokens](../../user/project/settings/project_access_tokens.md)
- [Group access tokens](../../user/group/settings/group_access_tokens.md)

View File

@ -2,10 +2,9 @@
stage: Fulfillment
group: Provision
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Assign GitLab Duo seats by using GraphQL
---
# Assign GitLab Duo seats by using GraphQL
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** GitLab.com

View File

@ -2,10 +2,9 @@
stage: Software Supply Chain Security
group: Compliance
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Audit event streaming GraphQL API for top-level groups
---
# Audit event streaming GraphQL API for top-level groups
DETAILS:
**Tier:** Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Software Supply Chain Security
group: Compliance
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Audit event streaming GraphQL API for instances
---
# Audit event streaming GraphQL API for instances
DETAILS:
**Tier:** Ultimate
**Offering:** GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Software Supply Chain Security
group: Compliance
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Create an audit report by using GraphQL
---
# Create an audit report by using GraphQL
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Create
group: Source Code
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: List branch rules for a project by using GraphQL
---
# List branch rules for a project by using GraphQL
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Plan
group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Use custom emoji with GraphQL
---
# Use custom emoji with GraphQL
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -40,7 +39,7 @@ The query accepts these attributes:
| Attribute | Type | Required | Description |
| :----------- | :------------- | :--------------------- | :---------- |
| `group_path` | integer/string | Yes | ID or [URL-encoded path of the top-level group](../rest/index.md#namespaced-paths). |
| `group_path` | integer/string | Yes | ID or [URL-encoded path of the top-level group](../rest/_index.md#namespaced-paths). |
| `name` | string | Yes | Name of the custom emoji. |
| `file` | string | Yes | URL of the custom emoji image. |

View File

@ -2,10 +2,9 @@
stage: Plan
group: Product Planning
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Migrate epic APIs to work items
---
# Migrate epic APIs to work items
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Foundations
group: Import and Integrate
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: GraphQL examples
---
# GraphQL examples
GraphQL examples are available for you to test and modify.
- [Audit event streaming for instances](audit_event_streaming_instances.md)

View File

@ -2,10 +2,9 @@
stage: Foundations
group: Import and Integrate
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Run GraphQL API queries and mutations
---
# Run GraphQL API queries and mutations
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -46,7 +45,7 @@ You can run GraphQL queries in a `curl` request on the command line on your
local computer. The requests `POST` to `/api/graphql`
with the query as the payload. You can authorize your request by generating a
[personal access token](../../user/profile/personal_access_tokens.md) to use as
a bearer token. Read more about [GraphQL Authentication](index.md#authentication).
a bearer token. Read more about [GraphQL Authentication](_index.md#authentication).
Example:
@ -104,7 +103,7 @@ NOTE:
In the GitLab GraphQL API, `id` refers to a
[Global ID](https://graphql.org/learn/global-object-identification/),
which is an object identifier in the format of `"gid://gitlab/Issue/123"`.
For more information, see [Global IDs](index.md#global-ids).
For more information, see [Global IDs](_index.md#global-ids).
[GitLab GraphQL Schema](reference/_index.md) outlines which objects and fields are
available for clients to query and their corresponding data types.
@ -171,7 +170,7 @@ More about queries:
If you've signed in to GitLab and use [GraphiQL](#graphiql), all queries are performed as
you, the authenticated user. For more information, read about
[GraphQL Authentication](index.md#authentication).
[GraphQL Authentication](_index.md#authentication).
### Mutations
@ -348,7 +347,7 @@ More about introspection:
### Query complexity
The calculated [complexity score and limit](index.md#maximum-query-complexity) for a query can be revealed to clients by
The calculated [complexity score and limit](_index.md#maximum-query-complexity) for a query can be revealed to clients by
querying for `queryComplexity`.
```graphql

View File

@ -17,14 +17,14 @@ title: GraphQL API resources
This documentation is self-generated based on GitLab current GraphQL schema.
The API can be explored using the [interactive GraphQL explorer](../index.md#interactive-graphql-explorer). Developers can also [generate a machine-readable GraphQL schema in IDL and JSON formats](../../../development/rake_tasks.md#update-machine-readable-schema-files).
The API can be explored using the [interactive GraphQL explorer](../_index.md#interactive-graphql-explorer). Developers can also [generate a machine-readable GraphQL schema in IDL and JSON formats](../../../development/rake_tasks.md#update-machine-readable-schema-files).
Each table below documents a GraphQL type. Types match loosely to models, but not all
fields and methods on a model are available via GraphQL.
WARNING:
Fields that are deprecated are marked with **{warning-solid}**.
Items (fields, enums, etc) that have been removed according to our [deprecation process](../index.md#deprecation-and-removal-process) can be found
Items (fields, enums, etc) that have been removed according to our [deprecation process](../_index.md#deprecation-and-removal-process) can be found
in [Removed Items](../removed_items.md).
<!-- vale off -->
@ -19598,7 +19598,7 @@ Self-hosted LLM servers.
### `AiUsageData`
Usage data for events stored in the default PostgreSQL database. Data retained for three months. Requires a personal access token. Ultimate with GitLab Duo Enterprise only.
Usage data for events stored in the default PostgreSQL database. Data retained for three months. Requires a personal access token. Endpoint works only on the top-level group. Ultimate with GitLab Duo Enterprise only.
#### Fields

View File

@ -2,17 +2,16 @@
stage: Foundations
group: Import and Integrate
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: GraphQL API removed items
---
# GraphQL API removed items
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
GraphQL is a versionless API, unlike the REST API.
Occasionally, items have to be updated or removed from the GraphQL API.
According to our [process for removing items](index.md#deprecation-and-removal-process), here are the items that have been removed.
According to our [process for removing items](_index.md#deprecation-and-removal-process), here are the items that have been removed.
For deprecations, see the [Deprecations by version page](../../update/deprecations.md).

View File

@ -2,10 +2,9 @@
stage: Plan
group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Identify issue boards by using GraphQL
---
# Identify issue boards by using GraphQL
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Software Supply Chain Security
group: Authentication
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Query users by using GraphQL
---
# Query users by using GraphQL
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated

View File

@ -2,10 +2,9 @@
stage: Software Supply Chain Security
group: Authentication
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Group access tokens API
---
# Group access tokens API
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
@ -27,7 +26,7 @@ GET /groups/:id/access_tokens?state=inactive
| Attribute | Type | required | Description |
| --------- | ----------------- | -------- | ----------- |
| `id` | integer or string | yes | ID or [URL-encoded path](rest/index.md#namespaced-paths) of a group. |
| `id` | integer or string | yes | ID or [URL-encoded path](rest/_index.md#namespaced-paths) of a group. |
| `state` | string | No | If defined, only returns tokens with the specified state. Possible values: `active` and `inactive`. |
```shell
@ -79,7 +78,7 @@ GET /groups/:id/access_tokens/:token_id
| Attribute | Type | required | Description |
| ---------- | ----------------- | -------- | ----------- |
| `id` | integer or string | yes | ID or [URL-encoded path](rest/index.md#namespaced-paths) of a group. |
| `id` | integer or string | yes | ID or [URL-encoded path](rest/_index.md#namespaced-paths) of a group. |
| `token_id` | integer or string | yes | ID of a group access token or the keyword `self`. |
```shell
@ -120,7 +119,7 @@ POST /groups/:id/access_tokens
| Attribute | Type | required | Description |
| -------------- | ----------------- | -------- | ----------- |
| `id` | integer or string | yes | ID or [URL-encoded path](rest/index.md#namespaced-paths) of a group. |
| `id` | integer or string | yes | ID or [URL-encoded path](rest/_index.md#namespaced-paths) of a group. |
| `name` | String | yes | Name of the token. |
| `scopes` | `Array[String]` | yes | List of [scopes](../user/group/settings/group_access_tokens.md#scopes-for-a-group-access-token) available to the token. |
| `access_level` | Integer | no | [Access level](../development/permissions/predefined_roles.md#members) for the token. Possible values: `10` (Guest), `15` (Planner), `20` (Reporter), `30` (Developer), `40` (Maintainer), and `50` (Owner). Default value: `40`. |
@ -171,7 +170,7 @@ POST /groups/:id/access_tokens/:token_id/rotate
| Attribute | Type | required | Description |
| ------------ | ----------------- | -------- | ----------- |
| `id` | integer or string | yes | ID or [URL-encoded path](rest/index.md#namespaced-paths) of a group. |
| `id` | integer or string | yes | ID or [URL-encoded path](rest/_index.md#namespaced-paths) of a group. |
| `token_id` | integer or string | yes | ID of a group access token or the keyword `self`. |
| `expires_at` | date | no | Expiration date of the access token in ISO format (`YYYY-MM-DD`). The date must be one year or less from the rotation date. If undefined, the token expires after one week. |
@ -240,7 +239,7 @@ DELETE /groups/:id/access_tokens/:token_id
| Attribute | Type | required | Description |
| ---------- | ----------------- | -------- | ----------- |
| `id` | integer or string | yes | ID or [URL-encoded path](rest/index.md#namespaced-paths) of a group. |
| `id` | integer or string | yes | ID or [URL-encoded path](rest/_index.md#namespaced-paths) of a group. |
| `token_id` | integer | yes | ID of a group access token. |
```shell

View File

@ -2,10 +2,9 @@
stage: Plan
group: Optimize
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
title: Group Activity Analytics API
---
# Group Activity Analytics API
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated

Some files were not shown because too many files have changed in this diff Show More