Skip to content

Change a request's visibility or company

PATCH
/v1/portals/{portalId}/requests/{requestId}
curl --request PATCH \
--url https://api.pealboard.com/v1/portals/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/requests/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "visibility": "private", "companyId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'

Visibility takes effect on the next read, in both directions: making a public request private hides it from everybody but the requester at once.

Access. Requires the member role or above (member, admin, owner). Changing a request’s visibility decides which of the portal’s customers can read it. API-key scope: requests:write.

portalId
required

From GET /v1/portals.

string format: uuid

From GET /v1/portals.

requestId
required

A UUID this API issued.

string format: uuid

A UUID this API issued.

Media typeapplication/json
object
visibility

Private: the requester and the workspace. company: everyone in the requester’s company. public: everyone in the portal. A manager sees every request in their company whatever this says.

string
Allowed values: private company public
companyId

A UUID this API issued.

string | null format: uuid

The request.

Media typeapplication/json
object
id
required

A UUID this API issued.

string format: uuid
reference
required

ACME-42.

string
number
required
integer
title
required
string
status
required

Derived from the issue at read time, never stored.

object
id
required

The stable identifier a client filters on. The word is in status.label.

string
Allowed values: open planned in_progress waiting_on_you completed merged closed
label
required

The customer-facing word. Seven, fixed, and never GitHub’s own vocabulary.

string
Allowed values: Open Planned In progress Waiting on you Completed Merged Closed
visibility
required

Private: the requester and the workspace. company: everyone in the requester’s company. public: everyone in the portal. A manager sees every request in their company whatever this says.

string
Allowed values: private company public
issue
required

Null while the request is in the hold queue: it has not reached GitHub.

object
id
required

A UUID this API issued.

string format: uuid
number
required
integer
htmlUrl
required
string format: uri
state
required
string
Allowed values: open closed
requestType
required
object
id
required

A UUID this API issued.

string format: uuid
name
required
string
requester
required
object
id
required

A UUID this API issued.

string format: uuid
name
required
string
email
required
string format: email
company
required
object
id
required

A UUID this API issued.

string format: uuid
name
required
string
voteCount
required
integer
held
required
boolean
rejectedAt
required
string | null format: date-time
url
required

The request in its portal.

string format: uri
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
Example
{
"reference": "ACME-42",
"status": {
"id": "open",
"label": "Open"
},
"visibility": "private",
"issue": {
"state": "open"
}
}

No valid credentials.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": {
"additionalProperty": "example"
},
"remedy": "example",
"requestId": "example"
}
}

Authenticated, but not permitted.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": {
"additionalProperty": "example"
},
"remedy": "example",
"requestId": "example"
}
}

No such resource, or it is not visible to you.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": {
"additionalProperty": "example"
},
"remedy": "example",
"requestId": "example"
}
}

The request conflicts with the current state.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": {
"additionalProperty": "example"
},
"remedy": "example",
"requestId": "example"
}
}

The request did not match the expected shape.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": {
"additionalProperty": "example"
},
"remedy": "example",
"requestId": "example"
}
}

Rate limited. Retry after the interval in the header.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": {
"additionalProperty": "example"
},
"remedy": "example",
"requestId": "example"
}
}

GitHub or another dependency refused or did not answer. Nothing in the workspace changed.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": {
"additionalProperty": "example"
},
"remedy": "example",
"requestId": "example"
}
}