Developer
News and Updates
Get Support
Sign in
Get Support
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
  • Authentication
  • Builds and Deployments
  • Capabilities
  • Content Security Policy
  • Dashboard
  • Deprecated
  • Jira Integration
  • Markup
  • Mirroring (Mirror)
  • Mirroring (Upstream)
  • Permission Management
  • Project
  • Pull Requests
  • Repository
  • SAML certificate configuration
  • Security
  • System Maintenance
  • Other operations
Server
Bitbucket Data Center / Reference / REST API

Search

Postman Collection
OpenAPI
GET

Get repository search indexing details.

Retrieve the search indexing details of a repository. This includes the current status, and the commit and timestamp of the last successful index.

If the status is BROKEN then the indexingError will also be included in the response. The indexingError is the error that the application encountered during the last failed indexing attempt before the repository was removed from indexing.

The authenticated user must have REPO_ADMIN permission for the specified repository to call this resource.

Forge and OAuth2 apps cannot access this REST resource.

Request

Path parameters

projectKey

string

Required
repositorySlug

string

Required

Responses

The indexing details of the repository.

application/json

RestRepositoryIndexingDetails
GET/indexing/latest/projects/{projectKey}/repos/{repositorySlug}
1 2 3 curl --request GET \ --url 'http://{baseurl}/rest/indexing/latest/projects/{projectKey}/repos/{repositorySlug}' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 { "indexingError": "Indexing timed out.", "lastIndexedCommitId": "abcdef0123abcdef4567abcdef8987abcdef6543", "lastIndexedTimestamp": 1732022086, "projectKey": "PROJECT_1", "repositorySlug": "rep_1", "status": "BROKEN" }
GET

Retrieve detailed queue information for a repository

Provides a snapshot of the queue status for a specified repository at the time of the request.

The authenticated user must have REPO_ADMIN permission for the specified repository to call this resource.

Forge and OAuth2 apps cannot access this REST resource.

Request

Path parameters

projectKey

string

Required
repositorySlug

string

Required

Responses

A snapshot containing the indexing queue information for the repository.

application/json

RestRepositoryIndexingQueueDetails
GET/indexing/latest/projects/{projectKey}/repos/{repositorySlug}/indexing-queue-details
1 2 3 curl --request GET \ --url 'http://{baseurl}/rest/indexing/latest/projects/{projectKey}/repos/{repositorySlug}/indexing-queue-details' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 { "capturedAt": 1732136412902, "nodeId": "58ed5b70-e8ef-4d4e-be13-88221650a51b", "queued": true, "queuedAt": 137 }
GET

Checks if a repository has been queued for indexing.

Checks if a repository has been queued for indexing.

The authenticated user must have REPO_ADMIN permission for the specified repository to call this resource.

Forge and OAuth2 apps cannot access this REST resource.

Request

Path parameters

projectKey

string

Required
repositorySlug

string

Required

Responses

Returns true if the repository has been queued for indexing.

In a clustered environment, this will return true if the repository has been queued for indexing on any node.

application/json

RestIndexingIsRepositoryQueued
GET/indexing/latest/projects/{projectKey}/repos/{repositorySlug}/indexing-queued-status
1 2 3 curl --request GET \ --url 'http://{baseurl}/rest/indexing/latest/projects/{projectKey}/repos/{repositorySlug}/indexing-queued-status' \ --header 'Accept: application/json'
200Response
1 2 3 { "queued": true }
POST

Re-indexes the search index of the provided list of repositories

Forces the provided repositories to reindex with the search server. For each repository the current index on the search server will be deleted and it will be queued for re-indexing. Note that this can result in diminished instance performance as deleting and reindexing a large repository can take some time

Forge and OAuth2 apps cannot access this REST resource.

Request

Request bodyapplication/json

array<RestRepositorySelector>

projectKey

string

Required
slug

string

Required

Responses

This status code has no content.

POST/indexing/latest/reindex
1 2 3 4 5 6 7 8 9 curl --request POST \ --url 'http://{baseurl}/rest/indexing/latest/reindex' \ --header 'Content-Type: application/json' \ --data '[ { "projectKey": "PRJ", "slug": "my-repo" } ]'
POST

Restarts the search indexing worker thread

Restarts the search indexing worker thread. By default this will cause the currently running queue event to be terminated. This behaviour can be modified by providing the graceful shutdown flag in the request.

Forge and OAuth2 apps cannot access this REST resource.

Request

Request bodyapplication/json

gracefulShutdown

boolean

waitForRestart

boolean

Responses

application/json

any

POST/indexing/latest/restart
1 2 3 4 5 6 7 8 curl --request POST \ --url 'http://{baseurl}/rest/indexing/latest/restart' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "gracefulShutdown": true, "waitForRestart": true }'
GET

Retrieve a paged list of repositories which have exceeded the configured maximum indexing retries.

Retrieve repositories which are in the BROKEN indexing state.

When a repository has a BROKEN indexing status it will no longer attempt to be re-indexed by the system, even when changes are made to its code. A repository is given a BROKEN indexing status when it fails to index too many times.

The authenticated user must have SYS_ADMIN permission to call this resource.

Forge and OAuth2 apps cannot access this REST resource.

Request

Query parameters

start

number

limit

number

Responses

Page of repositories where STATE = BROKEN

application/json

object
GET/indexing/latest/support-info/broken-index-status-repos
1 2 3 curl --request GET \ --url 'http://{baseurl}/rest/indexing/latest/support-info/broken-index-status-repos' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 { "isLastPage": true, "limit": 25, "nextPageStart": 2154, "size": 1, "start": 2154, "values": [ { "details": { "indexingError": "Indexing timed out.", "lastIndexedCommitId": "abcdef0123abcdef4567abcdef8987abcdef6543", "lastIndexedTimestamp": 1732022086, "projectKey": "PROJECT_1", "repositorySlug": "rep_1", "status": "BROKEN" }, "repository": { "archived": true, "description": "My repo description", "forkable": true, "hierarchyId": "e3c939f9ef4a7fae272e", "id": 2154, "name": "My repo", "origin": { "archived": true, "description": "My repo description", "forkable": true, "hierarchyId": "e3c939f9ef4a7fae272e", "id": 2154, "name": "My repo", "partition": 2154, "project": { "avatar": "<string>", "description": "The description for my cool project", "id": 2154, "key": "PRJ", "name": "My Cool Project", "public": true, "scope": "PROJECT", "type": "NORMAL" }, "public": true, "relatedLinks": {}, "scmId": "git", "scope": "REPOSITORY", "slug": "my-repo", "state": "AVAILABLE", "statusMessage": "Available" }, "partition": 2154, "project": { "avatar": "<string>", "description": "The description for my cool project", "id": 2154, "key": "PRJ", "name": "My Cool Project", "public": true, "scope": "PROJECT", "type": "NORMAL" }, "public": true, "relatedLinks": {}, "scmId": "git", "scope": "REPOSITORY", "slug": "my-repo", "state": "AVAILABLE", "statusMessage": "Available" } } ] }
GET

Retrieve a snapshot of the indexing thread details.

Fetches a snapshot of the indexing thread details at the moment the request is processed. Note that the result represents the thread's status at a specific point in time, and the state may have changed by the time this endpoint responds.

Forge and OAuth2 apps cannot access this REST resource.

Request

This request has no parameters.

Responses

A snapshot containing the details of the indexing threads.

application/json

array<RestIndexingThreadDetails>

GET/indexing/latest/support-info/indexing-thread-snapshot
1 2 3 curl --request GET \ --url 'http://{baseurl}/rest/indexing/latest/support-info/indexing-thread-snapshot' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [ { "capturedAt": 1732136412902, "currentProcess": { "currentTask": "Indexing file: 'example.txt'", "event": { "eventMetadata": {}, "eventType": "PROJECT", "retries": 105 } }, "delayedQueueSize": 202, "queueSize": 48, "state": { "code": "BROKEN", "description": "<string>" } } ]

Rate this page: