This resource represents field schemes which are replacing field configuration schemes to control field associations. They are currently in beta and only available to customers who have opted-in to the beta program. For more information see RFC-103: Jira Field Configuration Overhaul: Admin Experience and API Changes
REST endpoint for retrieving a paginated list of field association schemes with optional filtering.
This endpoint allows clients to fetch field association schemes with optional filtering by project IDs and text queries. The response includes scheme details with navigation links and filter metadata when applicable.
Filtering Behavior:
Permissions required: Administer Jira global permission.
manage:jira-configurationread:field-configuration-scheme:jiraConnect apps cannot access this REST resource.
array<integer>
string
integer
integer
Pagianted list of field association schemes
A page of items.
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
const response = await requestJira(`/rest/api/3/config/fieldschemes`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"description": "Field Association Scheme test description",
"id": 1000,
"isDefault": false,
"links": {
"associations": "rest/api/3/config/fieldschemes/10000/associations",
"projects": "rest/api/3/config/fieldschemes/10000/projects"
},
"matchedFilters": {
"projectIds": [
10001,
10002
],
"query": "query"
},
"name": "Field Association Scheme test name"
}Endpoint for creating a new field association scheme.
Permissions required: Administer Jira global permission.
manage:jira-configurationwrite:field-configuration-scheme:jiraConnect apps cannot access this REST resource.
The request containing the name and description of the field association scheme
string
string
RequiredReturned if the creation was successful.
Response object after successfully creating a new field association scheme.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
var bodyData = `{
"description": "Field association scheme description",
"name": "Field association scheme name"
}`;
const response = await requestJira(`/rest/api/3/config/fieldschemes`, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());1
2
3
4
5
6
7
8
9
{
"description": "Field association scheme description",
"id": 10000,
"links": {
"associations": "{BASE_API_URL}/rest/api/2/config/fieldschemes/9/associations",
"projects": "{BASE_API_URL}/rest/api/2/config/fieldschemes/9/projects"
},
"name": "Field association scheme name"
}Update fields associated with field association schemes.
Permissions required: Administer Jira global permission.
manage:jira-configurationwrite:field-configuration:jiraConnect apps cannot access this REST resource.
The request containing the schemes and work types to associate each field with.
array<UpdateFieldAssociationsRequestItem>
Returned if the field association update was successful.
Response for updating field associations.
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
var bodyData = `{
"customfield_10000": [
{
"restrictedToWorkTypes": [
1,
2
],
"schemeIds": [
10000,
10001
]
}
],
"customfield_10001": [
{
"schemeIds": [
10002
]
}
]
}`;
const response = await requestJira(`/rest/api/3/config/fieldschemes/fields`, {
method: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"results": [
{
"fieldId": "customfield_10000",
"schemeId": 10000,
"success": true,
"workTypeIds": [
1,
2
]
},
{
"fieldId": "customfield_10001",
"schemeId": 10002,
"success": true,
"workTypeIds": []
}
]
}Remove fields associated with field association schemes.
Permissions required: Administer Jira global permission.
manage:jira-configurationwrite:field-configuration:jiraConnect apps cannot access this REST resource.
The request containing the schemes and fields to be removed.
RemoveFieldAssociationsRequestItem
Returned if the field association update was successful.
Minimal response for updating field scheme to fields associations.
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
var bodyData = `{
"customfield_10000": {
"schemeIds": [
10000,
10001
]
},
"customfield_10001": {
"schemeIds": [
10002
]
}
}`;
const response = await requestJira(`/rest/api/3/config/fieldschemes/fields`, {
method: 'DELETE',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"results": [
{
"fieldId": "customfield_10000",
"schemeId": 10000,
"success": true
},
{
"fieldId": "customfield_10001",
"schemeId": 10002,
"success": true
}
]
}Update field association item parameters in field association schemes.
Permissions required: Administer Jira global permission.
manage:jira-configurationwrite:field-configuration:jiraConnect apps cannot access this REST resource.
The request containing the field association scheme id and the parameters to update.
array<UpdateFieldSchemeParametersRequest>
Returned if the field parameter update was successful.
Response bean for field scheme parameter update operations.
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
var bodyData = `{
"customfield_10000": [
{
"parameters": {
"description": "Field description",
"isRequired": true
},
"schemeIds": [
10000,
10001
],
"workTypeParameters": [
{
"description": "Description for Bug",
"isRequired": false,
"workTypeId": 10002
}
]
}
],
"customfield_10001": [
{
"schemeIds": [
10001
],
"workTypeParameters": [
{
"description": "Description for Bug",
"isRequired": false,
"workTypeId": 10002
},
{
"description": "Description for Task",
"isRequired": true,
"workTypeId": 10003
}
]
}
]
}`;
const response = await requestJira(`/rest/api/3/config/fieldschemes/fields/parameters`, {
method: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"results": [
{
"fieldId": "customfield_10000",
"schemeId": 10000,
"success": true
},
{
"fieldId": "customfield_10001",
"schemeId": 10002,
"success": true,
"workTypeId": 10001
}
]
}Remove field association parameters overrides for work types.
Permissions required: Administer Jira global permission.
manage:jira-configurationwrite:field-configuration:jiraConnect apps cannot access this REST resource.
array<ParameterRemovalDetails>
Returned if the removal was successful.
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
var bodyData = `{
"customfield_10000": [
{
"parameters": [
"description",
"isRequired"
],
"schemeId": 10000,
"workTypeIds": [
1,
2
]
}
],
"description": [
{
"parameters": [
"description"
],
"schemeId": 10001,
"workTypeIds": [
3
]
}
]
}`;
const response = await requestJira(`/rest/api/3/config/fieldschemes/fields/parameters`, {
method: 'DELETE',
headers: {
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.text());Get projects with field association schemes. This will be a temporary API but useful when transitioning from the legacy field configuration APIs to the new ones.
Permissions required: Administer Jira global permission.
manage:jira-configurationread:field-configuration-scheme:jiraConnect apps cannot access this REST resource.
integer
integer
array<integer>
RequiredReturns the list of project with field association schemes.
A page of items.
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
const response = await requestJira(`/rest/api/3/config/fieldschemes/projects?projectId={projectId}`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"isLast": true,
"maxResults": 3,
"startAt": 0,
"total": 3,
"values": [
{
"projectId": 10000,
"schemeId": 1
},
{
"projectId": 10001,
"schemeId": 1
},
{
"projectId": 10002,
"schemeId": 2
}
]
}Associate projects to field association schemes.
Permissions required: Administer Jira global permission.
manage:jira-configurationwrite:field-configuration:jiraConnect apps cannot access this REST resource.
FieldSchemeToProjectsRequest
Returned if the association was successful.
Response for updating field scheme to projects associations.
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
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
var bodyData = `{
"10000": {
"projectIds": [
10000,
10001
]
},
"10001": {
"projectIds": [
10002
]
}
}`;
const response = await requestJira(`/rest/api/3/config/fieldschemes/projects`, {
method: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"results": [
{
"projectId": 10001,
"schemeId": 10000,
"success": true
},
{
"projectId": 10002,
"schemeId": 10001,
"success": true
}
]
}Endpoint for fetching a field association scheme by its ID
Permissions required: Administer Jira global permission.
manage:jira-configurationread:field-configuration-scheme:jiraConnect apps cannot access this REST resource.
integer
RequiredReturned if a field association scheme matches the given scheme ID
Response object for getting a field association scheme by ID.
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
const response = await requestJira(`/rest/api/3/config/fieldschemes/{id}`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());1
2
3
4
5
6
7
8
9
10
{
"description": "This is a field association scheme",
"id": "123",
"isDefault": false,
"links": {
"associations": "rest/api/3/config/fieldschemes/10000/associations",
"projects": "rest/api/3/config/fieldschemes/10000/projects"
},
"name": "Scheme"
}Endpoint for updating an existing field association scheme.
Permissions required: Administer Jira global permission.
manage:jira-configurationwrite:field-configuration-scheme:jiraConnect apps cannot access this REST resource.
integer
RequiredThe request containing the desired updates to the field association scheme
string
string
Returned if the update was successful.
Response object after successfully updating an existing field association scheme.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
var bodyData = `{
"description": "Field association scheme description",
"name": "Field association scheme name"
}`;
const response = await requestJira(`/rest/api/3/config/fieldschemes/{id}`, {
method: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());1
2
3
4
5
6
7
8
9
{
"description": "Field association scheme description",
"id": 10000,
"links": {
"associations": "{BASE_API_URL}/rest/api/2/config/fieldschemes/9/associations",
"projects": "{BASE_API_URL}/rest/api/2/config/fieldschemes/9/projects"
},
"name": "Field association scheme name"
}Delete a specified field association scheme
Permissions required: Administer Jira global permission.
manage:jira-configurationwrite:field-configuration-scheme:jiraConnect apps cannot access this REST resource.
integer
RequiredReturned if the field association scheme deletion was successful.
Response object after successfully deleting a field association scheme.
1
2
3
4
5
6
7
8
9
10
11
12
13
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
const response = await requestJira(`/rest/api/3/config/fieldschemes/{id}`, {
method: 'DELETE',
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());1
2
3
4
{
"deleted": true,
"id": "10000"
}Search for fields belonging to a given field association scheme.
Permissions required: Administer Jira global permission.
manage:jira-configurationread:field-configuration:jiraConnect apps cannot access this REST resource.
integer
Requiredinteger
integer
array<string>
Returns the matching fields, at the specified page of the results.
A page of items.
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
const response = await requestJira(`/rest/api/3/config/fieldschemes/{id}/fields`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());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
{
"allowedOperations": [
"REMOVE",
"CHANGE_REQUIRED",
"CHANGE_DESCRIPTION"
],
"fieldId": "customfield_10000",
"parameters": {
"description": "text",
"isRequired": true
},
"restrictedToWorkTypes": [
"1",
"2"
],
"workTypeParameters": [
{
"description": "text",
"isRequired": true,
"workTypeId": "1"
},
{
"description": "textarea",
"isRequired": false,
"workTypeId": "2"
}
]
}Retrieve field association parameters on a field association scheme
Permissions required: Administer Jira global permission.
manage:jira-configurationread:field-configuration:jiraConnect apps cannot access this REST resource.
integer
Requiredstring
RequiredReturned if the parameters fetched were successful.
Response object for getting field association parameters.
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
const response = await requestJira(`/rest/api/3/config/fieldschemes/{id}/fields/{fieldId}/parameters`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"fieldId": "customfield_10000",
"parameters": {
"description": "Teams field",
"isRequired": true
},
"workTypeParameters": [
{
"description": "Teams field",
"isRequired": false,
"workTypeId": 10010
}
]
}REST Endpoint for searching for projects belonging to a given field association scheme
Permissions required: Administer Jira global permission.
manage:jira-configurationread:field-configuration:jiraConnect apps cannot access this REST resource.
integer
Requiredinteger
integer
array<integer>
Returns a paginated list of projects associated with the field association scheme, matching the specified filter criteria.
A page of items.
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import { requestJira } from "@forge/bridge";
const response = await requestJira(`/rest/api/3/config/fieldschemes/{id}/projects`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"isLast": true,
"maxResults": 51,
"nextPage": "<string>",
"self": "<string>",
"startAt": 37,
"total": 29,
"values": [
{
"id": "<string>",
"name": "<string>"
}
]
}Rate this page: