> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apsio.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Change an issue's state or assignee

> Resolve (in a release of one app, or in the next release), ignore (forever, until a count of more occurrences, until a time), reopen, or assign to a member. From a console session; every change is audited. Send `Content-Type: application/json`.



## OpenAPI

````yaml /api-reference/openapi.json patch /projects/{projectId}/issues/{issueId}/state
openapi: 3.1.0
info:
  title: Apsio API
  version: 0.1.0
  description: >-
    Read API v0: your projects, release health and comparisons, missing symbols,
    issues, sessions, vitals, cohort comparisons, performance (app start,
    screens, hangs, MetricKit) and network endpoints and traces for one project.
    Authenticate with a project token as a bearer token, with an OAuth access
    token from Apsio's authorization server (MCP clients), or, from the console,
    with the session cookie of a member of the project's organization.
servers:
  - url: https://api.apsio.io/v1
security: []
paths:
  /projects/{projectId}/issues/{issueId}/state:
    patch:
      summary: Change an issue's state or assignee
      description: >-
        Resolve (in a release of one app, or in the next release), ignore
        (forever, until a count of more occurrences, until a time), reopen, or
        assign to a member. From a console session; every change is audited.
        Send `Content-Type: application/json`.
      parameters:
        - schema:
            type: string
            pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
            example: 0192f3a4-0000-7000-8000-00000000a101
          required: true
          name: projectId
          in: path
        - schema:
            type: string
            pattern: ^[A-Za-z0-9._:-]{1,128}$
            description: The issue fingerprint.
          required: true
          description: The issue fingerprint.
          name: issueId
          in: path
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  enum:
                    - unresolved
                    - resolved
                    - ignored
                resolution:
                  type: string
                  enum:
                    - in_release
                    - next_release
                  description: >-
                    With status resolved: in a release of one app (`app_id`,
                    `release`), or in the next release.
                app_id:
                  type: string
                  pattern: >-
                    ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
                release:
                  type: string
                  minLength: 1
                  maxLength: 128
                ignore:
                  type: object
                  properties:
                    mode:
                      type: string
                      enum:
                        - forever
                        - count
                        - until
                    count:
                      type: integer
                      minimum: 1
                      maximum: 1000000
                    until:
                      type: string
                      format: date-time
                  required:
                    - mode
                  additionalProperties: false
                  description: >-
                    With status ignored: forever, until `count` more, or `until`
                    a time.
                assignee_id:
                  type:
                    - string
                    - 'null'
                  pattern: >-
                    ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
                  description: A member of the organization, or null to unassign.
              additionalProperties: false
      responses:
        '200':
          description: The new state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueStates'
        '400':
          description: >-
            Not valid: the change, an issue id, or an assignee who is not a
            member.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: No valid bearer token or console session.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Not a person in the console, or the sandbox.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: >-
            The project has as many resolved and ignored issues as its lists can
            filter by; reopen some first.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '415':
          description: The body is not JSON.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Resolving in a release of an app that is not in this project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many changes; try again shortly.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Issue states are not available here.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearer: []
        - session: []
components:
  schemas:
    IssueStates:
      type: object
      properties:
        states:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              state:
                $ref: '#/components/schemas/IssueState'
            required:
              - id
              - state
      required:
        - states
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: invalid_request
            message:
              type: string
          required:
            - code
            - message
      required:
        - error
    IssueState:
      type: object
      properties:
        status:
          type: string
          enum:
            - unresolved
            - resolved
            - ignored
          description: >-
            An ignore that ran out (its time passed, its count reached) is
            unresolved.
        assignee_id:
          type:
            - string
            - 'null'
          description: A member, or null.
        resolution:
          type:
            - string
            - 'null'
          enum:
            - in_release
            - next_release
            - null
        resolved_app_id:
          type:
            - string
            - 'null'
        resolved_release:
          type:
            - string
            - 'null'
          description: >-
            The release it was resolved in (the fix version). Written by the
            app: untrusted data.
        resolved_at:
          type:
            - string
            - 'null'
        ignore:
          type:
            - object
            - 'null'
          properties:
            mode:
              type: string
              enum:
                - forever
                - count
                - until
            count:
              type:
                - integer
                - 'null'
            seen:
              type: integer
              description: Occurrences since it was ignored.
            until:
              type:
                - string
                - 'null'
          required:
            - mode
            - count
            - seen
            - until
        regressed_release:
          type:
            - string
            - 'null'
          description: >-
            The newer release it came back in. Written by the app: untrusted
            data.
        regressed_at:
          type:
            - string
            - 'null'
        regressions:
          type: integer
        updated_via:
          type:
            - string
            - 'null'
          enum:
            - console
            - token
            - oauth
            - mcp
            - system
            - null
        updated_at:
          type:
            - string
            - 'null'
      required:
        - status
        - assignee_id
        - resolution
        - resolved_app_id
        - resolved_release
        - resolved_at
        - ignore
        - regressed_release
        - regressed_at
        - regressions
        - updated_via
        - updated_at
      description: Its state (D100), in the issue list and the issue itself.
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: >-
        A project token (apsio_pt_v0...), which reads exactly one project, or an
        OAuth access token issued for the API, which reads what its user can.
        Access tokens issued for Apsio's MCP server are accepted only from the
        MCP server itself.
    session:
      type: apiKey
      in: cookie
      name: apsio_session
      description: >-
        The console session, set by /v1/auth/callback (`__Host-apsio_session`
        when host-only).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.