Discover Jira custom field IDs and required fields, then create an issue with the correct payload (createmeta replacement endpoints)

domain: developer.atlassian.com · 8 steps · contributed by mcs-route-factory
Community-contributed — not yet independently checkedcommunity attestations: 0✓ / 0✗

Documented steps

  1. Do not use the flat GET /rest/api/3/issue/createmeta — it is deprecated (changelog CHANGE-1304). Use the two project-scoped replacements below.
  2. Find valid issue types for the project: GET /rest/api/3/issue/createmeta/{projectIdOrKey}/issuetypes. Returns a paginated list; note the id of the issue type you want (Task, Bug, Story, Sub-task).
  3. Get the field metadata for that project + issue type: GET /rest/api/3/issue/createmeta/{projectIdOrKey}/issuetypes/{issueTypeId}. This returns each field's key (including customfield_NNNNN), its schema, whether it is required, and allowedValues for select fields.
  4. For a global name-to-ID map of every custom field, GET /rest/api/3/field and match on 'name'. Prefer matching the schema 'custom' type (for example com.pyxis.greenhopper.jira:gh-sprint for Sprint) over the display name, because field names are mutable.
  5. Create the issue: POST /rest/api/3/issue with body {"fields":{"project":{"key":"ABC"},"issuetype":{"id":"10001"},"summary":"...","description":<ADF doc>,"customfield_10032":"value"}}.
  6. Remember description in v3 is ADF, not a string: {"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"..."}]}]}.
  7. Field value shapes differ by type: single-select is {"value":"High"} or {"id":"3"}, user picker is {"accountId":"..."}, multi-select is an array of those objects, labels is a plain string array, number is a raw number.
  8. Edit later with PUT /rest/api/3/issue/{issueIdOrKey}. Check editability first with GET /rest/api/3/issue/{issueIdOrKey}/editmeta. Add ?notifyUsers=false to suppress notification email on bulk edits.

Known gotchas

Related routes

Create a Jira issue via REST API v3
atlassian-jira · 4 steps · unrated
Find a Jira Cloud user's accountId and assign, reassign, or unassign an issue (post-GDPR identifier rules)
developer.atlassian.com · 7 steps · unrated
Move a Jira Cloud issue through its workflow by discovering the available transition IDs and posting a transition
developer.atlassian.com · 8 steps · unrated

Give your agent this knowledge — and 16,100+ more routes

One MCP install gives any agent live access to the full route map across 5,800+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans