naftiko: 1.0.0-alpha2 info: label: Atlassian The Jira Cloud platform REST API — Issue Fields description: 'Atlassian The Jira Cloud platform REST API — Issue Fields. 9 operations. Lead operation: Atlassian Get Fields. Self-contained Naftiko capability covering one Atlassian business surface.' tags: - Atlassian - Issue Fields created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ATLASSIAN_API_KEY: ATLASSIAN_API_KEY capability: consumes: - type: http namespace: jira-issue-fields baseUri: https://your-domain.atlassian.net description: Atlassian The Jira Cloud platform REST API — Issue Fields business capability. Self-contained, no shared references. resources: - name: rest-api-3-field path: /rest/api/3/field operations: - name: atlassiangetfields method: GET description: Atlassian Get Fields outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassiancreatecustomfield method: POST description: Atlassian Create Custom Field outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: rest-api-3-field-search path: /rest/api/3/field/search operations: - name: atlassiangetfieldspaginated method: GET description: Atlassian Get Fields Paginated outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: startAt in: query type: integer description: The index of the first item to return in a page of results (page offset). - name: maxResults in: query type: integer description: The maximum number of items to return per page. - name: type in: query type: array description: The type of fields to search. - name: id in: query type: array description: The IDs of the custom fields to return or, where `query` is specified, filter. - name: query in: query type: string description: String used to perform a case-insensitive partial match with field names or descriptions. - name: orderBy in: query type: string description: '[Order](#ordering) the results by a field:' - name: expand in: query type: string description: 'Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:' - name: rest-api-3-field-search-trashed path: /rest/api/3/field/search/trashed operations: - name: atlassiangettrashedfieldspaginated method: GET description: Atlassian Get Fields In Trash Paginated outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: startAt in: query type: integer description: The index of the first item to return in a page of results (page offset). - name: maxResults in: query type: integer description: The maximum number of items to return per page. - name: id in: query type: array - name: query in: query type: string description: String used to perform a case-insensitive partial match with field names or descriptions. - name: expand in: query type: string - name: orderBy in: query type: string description: '[Order](#ordering) the results by a field:' - name: rest-api-3-field-fieldId path: /rest/api/3/field/{fieldId} operations: - name: atlassianupdatecustomfield method: PUT description: Atlassian Update Custom Field outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fieldId in: path type: string description: The ID of the custom field. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: rest-api-3-field-fieldId-contexts path: /rest/api/3/field/{fieldId}/contexts operations: - name: atlassiangetcontextsforfielddeprecated method: GET description: Atlassian Get Contexts For A Field outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fieldId in: path type: string description: The ID of the field to return contexts for. required: true - name: startAt in: query type: integer description: The index of the first item to return in a page of results (page offset). - name: maxResults in: query type: integer description: The maximum number of items to return per page. - name: rest-api-3-field-id path: /rest/api/3/field/{id} operations: - name: atlassiandeletecustomfield method: DELETE description: Atlassian Delete Custom Field outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of a custom field. required: true - name: rest-api-3-field-id-restore path: /rest/api/3/field/{id}/restore operations: - name: atlassianrestorecustomfield method: POST description: Atlassian Restore Custom Field From Trash outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of a custom field. required: true - name: rest-api-3-field-id-trash path: /rest/api/3/field/{id}/trash operations: - name: atlassiantrashcustomfield method: POST description: Atlassian Move Custom Field To Trash outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of a custom field. required: true authentication: type: bearer token: '{{env.ATLASSIAN_API_KEY}}' exposes: - type: rest namespace: jira-issue-fields-rest port: 8080 description: REST adapter for Atlassian The Jira Cloud platform REST API — Issue Fields. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/3/field name: rest-api-3-field description: REST surface for rest-api-3-field. operations: - method: GET name: atlassiangetfields description: Atlassian Get Fields call: jira-issue-fields.atlassiangetfields outputParameters: - type: object mapping: $. - method: POST name: atlassiancreatecustomfield description: Atlassian Create Custom Field call: jira-issue-fields.atlassiancreatecustomfield with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/3/field/search name: rest-api-3-field-search description: REST surface for rest-api-3-field-search. operations: - method: GET name: atlassiangetfieldspaginated description: Atlassian Get Fields Paginated call: jira-issue-fields.atlassiangetfieldspaginated with: startAt: rest.startAt maxResults: rest.maxResults type: rest.type id: rest.id query: rest.query orderBy: rest.orderBy expand: rest.expand outputParameters: - type: object mapping: $. - path: /v1/api/3/field/search/trashed name: rest-api-3-field-search-trashed description: REST surface for rest-api-3-field-search-trashed. operations: - method: GET name: atlassiangettrashedfieldspaginated description: Atlassian Get Fields In Trash Paginated call: jira-issue-fields.atlassiangettrashedfieldspaginated with: startAt: rest.startAt maxResults: rest.maxResults id: rest.id query: rest.query expand: rest.expand orderBy: rest.orderBy outputParameters: - type: object mapping: $. - path: /v1/api/3/field/{fieldid} name: rest-api-3-field-fieldid description: REST surface for rest-api-3-field-fieldId. operations: - method: PUT name: atlassianupdatecustomfield description: Atlassian Update Custom Field call: jira-issue-fields.atlassianupdatecustomfield with: fieldId: rest.fieldId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/3/field/{fieldid}/contexts name: rest-api-3-field-fieldid-contexts description: REST surface for rest-api-3-field-fieldId-contexts. operations: - method: GET name: atlassiangetcontextsforfielddeprecated description: Atlassian Get Contexts For A Field call: jira-issue-fields.atlassiangetcontextsforfielddeprecated with: fieldId: rest.fieldId startAt: rest.startAt maxResults: rest.maxResults outputParameters: - type: object mapping: $. - path: /v1/api/3/field/{id} name: rest-api-3-field-id description: REST surface for rest-api-3-field-id. operations: - method: DELETE name: atlassiandeletecustomfield description: Atlassian Delete Custom Field call: jira-issue-fields.atlassiandeletecustomfield with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/3/field/{id}/restore name: rest-api-3-field-id-restore description: REST surface for rest-api-3-field-id-restore. operations: - method: POST name: atlassianrestorecustomfield description: Atlassian Restore Custom Field From Trash call: jira-issue-fields.atlassianrestorecustomfield with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/3/field/{id}/trash name: rest-api-3-field-id-trash description: REST surface for rest-api-3-field-id-trash. operations: - method: POST name: atlassiantrashcustomfield description: Atlassian Move Custom Field To Trash call: jira-issue-fields.atlassiantrashcustomfield with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: jira-issue-fields-mcp port: 9090 transport: http description: MCP adapter for Atlassian The Jira Cloud platform REST API — Issue Fields. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: atlassian-get-fields description: Atlassian Get Fields hints: readOnly: true destructive: false idempotent: true call: jira-issue-fields.atlassiangetfields outputParameters: - type: object mapping: $. - name: atlassian-create-custom-field description: Atlassian Create Custom Field hints: readOnly: false destructive: false idempotent: false call: jira-issue-fields.atlassiancreatecustomfield with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-get-fields-paginated description: Atlassian Get Fields Paginated hints: readOnly: true destructive: false idempotent: true call: jira-issue-fields.atlassiangetfieldspaginated with: startAt: tools.startAt maxResults: tools.maxResults type: tools.type id: tools.id query: tools.query orderBy: tools.orderBy expand: tools.expand outputParameters: - type: object mapping: $. - name: atlassian-get-fields-trash-paginated description: Atlassian Get Fields In Trash Paginated hints: readOnly: true destructive: false idempotent: true call: jira-issue-fields.atlassiangettrashedfieldspaginated with: startAt: tools.startAt maxResults: tools.maxResults id: tools.id query: tools.query expand: tools.expand orderBy: tools.orderBy outputParameters: - type: object mapping: $. - name: atlassian-update-custom-field description: Atlassian Update Custom Field hints: readOnly: false destructive: false idempotent: true call: jira-issue-fields.atlassianupdatecustomfield with: fieldId: tools.fieldId body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-get-contexts-field description: Atlassian Get Contexts For A Field hints: readOnly: true destructive: false idempotent: true call: jira-issue-fields.atlassiangetcontextsforfielddeprecated with: fieldId: tools.fieldId startAt: tools.startAt maxResults: tools.maxResults outputParameters: - type: object mapping: $. - name: atlassian-delete-custom-field description: Atlassian Delete Custom Field hints: readOnly: false destructive: true idempotent: true call: jira-issue-fields.atlassiandeletecustomfield with: id: tools.id outputParameters: - type: object mapping: $. - name: atlassian-restore-custom-field-trash description: Atlassian Restore Custom Field From Trash hints: readOnly: false destructive: false idempotent: false call: jira-issue-fields.atlassianrestorecustomfield with: id: tools.id outputParameters: - type: object mapping: $. - name: atlassian-move-custom-field-trash description: Atlassian Move Custom Field To Trash hints: readOnly: false destructive: false idempotent: false call: jira-issue-fields.atlassiantrashcustomfield with: id: tools.id outputParameters: - type: object mapping: $.