Skip to content
Connect an agent

Connections

Approve an app that signs in with Plotwork

Verifies the signed request, makes a hidden key holding only the scopes asked for, for your own account or an organisation where you may publish, ends your earlier connection of the same app to the same account, and answers redirectTo with a one-time code.

POST/user/apps/approve

TL;DR

QuestionAnswer
What does it do?Approve an app that signs in with Plotwork.
What does it take?A JSON body of type ApproveAppBody.
What does it return?Status 200 with a body of type AppAnswer.
What can go wrong?400 the request is malformed, expired (oauth.request_expired), or not signed by this API (oauth.request_invalid); 401 not signed in; 403 the origin may not make changes, you are a reader there (orgs.forbidden), the organisation requires single sign-on (orgs.sso_required), the app is for another organisation's members (oauth.app_members_only), or the organisation allows only approved apps (oauth.app_not_allowed); 404 no such organisation, or you are not a member of it; 409 the sign-in link was already answered (oauth.request_used); 429 too many requests; 503 sign in with Plotwork is not available on this server (oauth.unavailable). Every failure uses the one error envelope.

What it does

Verifies the signed request, makes a hidden key holding only the scopes asked for, for your own account or an organisation where you may publish, ends your earlier connection of the same app to the same account, and answers redirectTo with a one-time code. Each link is answered once: 409 oauth.request_used.

Request body

The body has the type ApproveAppBody.

FieldTypeRequiredDescription
requeststringyesThe signed authorization request, exactly as the API put it in the consent page address. at least 1 character; at most 6144 characters.
organisationstringnoConnect the app to this organisation, by its id, instead of your own account. Any role but reader may; the app then acts in the organisation's library as you, with your role's diagram permissions.

Responses

StatusMeaningBody
200Approved; go to redirectTo.AppAnswer
400The request is malformed, expired (oauth.request_expired), or not signed by this API (oauth.request_invalid).ErrorResponse
401Not signed in.ErrorResponse
403The origin may not make changes, you are a reader there (orgs.forbidden), the organisation requires single sign-on (orgs.sso_required), the app is for another organisation's members (oauth.app_members_only), or the organisation allows only approved apps (oauth.app_not_allowed).ErrorResponse
404No such organisation, or you are not a member of it.ErrorResponse
409The sign-in link was already answered (oauth.request_used).ErrorResponse
429Too many requests.ErrorResponse
503Sign in with Plotwork is not available on this server (oauth.unavailable).ErrorResponse

Response body

A 200 answer has the type AppAnswer.

FieldTypeRequiredDescription
redirectTostringyesThe app's redirect address with code (or error), state and iss. Navigate there.

See also

DocWhy
API referenceEvery endpoint, and the error envelope
SchemasEvery request and response type
Tool referenceThe operations as callable tools