Documentation's navigation

This page acts as a collection of all available Linchpin APIs.


Disclaimer

Please be aware that all APIs might be subject to change without prior announcement.

There is no guarantee and no support.

Use them at your own risk.

Linchpin Events

REST APIs

The Linchpin Events app has a RESTful API to retrieve useful information for any kind of external usage.

All endpoints return their data as JSON strings (a standardized lightweight data-interchange format).

Disclaimer

Please be aware, that all APIs might be subject to change without prior announcement.

There is no guarantee and no support.

Usage at your own risk.

{ "openapi": "3.0.1", "paths": { "/categories": { "get": { "operationId": "getEventCategories", "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } }, "post": { "operationId": "createEventCategory", "requestBody": { "content": { "*/*": { "schema": { "type": "object", "properties": { "label": { "type": "string" } } } } } }, "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/categories/{id}": { "get": { "operationId": "getEventCategoryById", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } }, "put": { "operationId": "updateEventCategory", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "*/*": { "schema": { "type": "object", "properties": { "label": { "type": "string" } } } } } }, "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } }, "delete": { "operationId": "deleteEventCategoryById", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/participation/event/{uuid}": { "get": { "operationId": "getUsersByEvent", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "offset", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "limit", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } }, "post": { "operationId": "addParticipantByName", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "*/*": { "schema": { "type": "string" } } } }, "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } }, "delete": { "operationId": "selfSignOffByName", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/participation/timeslot/{id}": { "post": { "operationId": "addParticipantToTimeslotByName", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "*/*": { "schema": { "type": "string" } } } }, "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/participation/timeslot/{timeslotId}": { "get": { "operationId": "getUsersByTimeslot", "parameters": [ { "name": "timeslotId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "offset", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "limit", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/participation/event/{uuid}/{participantId}": { "delete": { "operationId": "removeParticipantByParticipantId", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/participation/event/{uuid}/search": { "get": { "operationId": "searchParticipants", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "query", "in": "query", "schema": { "type": "string" } }, { "name": "offset", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "limit", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/events/{uuid}/participants": { "get": { "operationId": "getUsersByEvent_1", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } }, "deprecated": true }, "post": { "operationId": "addParticipantByName_1", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "*/*": { "schema": { "type": "string" } } } }, "responses": { "default": { "description": "default response", "content": { "application/json": {} } } }, "deprecated": true } }, "/events/{uuid}/selfsign": { "post": { "operationId": "addSelfSignInByName", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } }, "deprecated": true }, "delete": { "operationId": "addSelfSignOffByName", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } }, "deprecated": true } }, "/events/create": { "post": { "operationId": "createEvent", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientEventDto" } } } }, "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/events/delete/{uuid}": { "delete": { "operationId": "deleteEvent", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/events/search": { "get": { "operationId": "getEventByUuid", "parameters": [ { "name": "uuid", "in": "query", "schema": { "type": "string" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } }, "put": { "operationId": "searchEvents", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchDto" } } } }, "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/events/i18n": { "get": { "operationId": "getI18nKeys", "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/events/{uuid}/participants/pagination": { "get": { "operationId": "getUsersByEvent_2", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "offset", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "limit", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } }, "deprecated": true } }, "/events/listEvents": { "put": { "operationId": "listEvents", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchDto" } } } }, "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/events/{uuid}/participants/{participantId}": { "delete": { "operationId": "removeParticipantByParticipantId_1", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "participantId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } }, "deprecated": true } }, "/events/{uuid}/participants/search": { "get": { "operationId": "searchParticipants_1", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "query", "in": "query", "schema": { "type": "string" } }, { "name": "offset", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "limit", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } }, "deprecated": true } }, "/image/{filename}": { "get": { "operationId": "getImage", "parameters": [ { "name": "filename", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/image/stockimages/configuration": { "get": { "operationId": "getStockImageConfiguration", "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } }, "post": { "operationId": "updateStockImageConfiguration", "requestBody": { "content": { "*/*": { "schema": { "type": "object", "properties": { "unsplashEnabled": { "type": "boolean" } } } } } }, "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/image/upload": { "post": { "operationId": "uploadImage", "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/FilePart" } } } }, "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/image/preview": { "post": { "operationId": "uploadPreview", "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/FilePart" } } } }, "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/permission/{uuid}": { "get": { "operationId": "getPermissions", "parameters": [ { "name": "uuid", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "default response", "content": { "application/json": {} } } } } }, "/spaces": { "get": { "operationId": "getSpacesBySpaceKeys", "parameters": [ { "name": "spaceKeys", "in": "query", "schema": { "type": "string" } } ], "responses": { "default": { "description": "default response", "content": { "*/*": {} } } } } }, "/spaces/search": { "get": { "operationId": "searchEditableSpacesForUser", "parameters": [ { "name": "parameter", "in": "query", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "schema": { "type": "integer", "format": "int64" } } ], "responses": { "default": { "description": "default response", "content": { "*/*": {} } } } } } }, "components": { "schemas": { "ClientEventDto": { "type": "object", "properties": { "uuid": { "type": "string" }, "pageId": { "type": "integer", "format": "int64" }, "title": { "type": "string" }, "description": { "type": "string" }, "location": { "type": "string" }, "maxParticipants": { "type": "integer", "format": "int32" }, "hideParticipantCount": { "type": "boolean" }, "hideParticipantList": { "type": "boolean" }, "date": { "type": "string" }, "endDate": { "type": "string" }, "rawDate": { "type": "string" }, "startTime": { "type": "string" }, "endTime": { "type": "string" }, "start": { "type": "string", "format": "date-time" }, "end": { "type": "string", "format": "date-time" }, "hasStartTime": { "type": "boolean" }, "hasEndTime": { "type": "boolean" }, "eventPageUrl": { "type": "string" }, "categoryIds": { "type": "string" }, "categories": { "type": "array", "items": { "$ref": "#/components/schemas/EventCategoryDto" } }, "participants": { "type": "array", "items": { "$ref": "#/components/schemas/ParticipantDto" } }, "participantCount": { "type": "integer", "format": "int32" }, "signUpAllowed": { "type": "boolean" }, "hideCreator": { "type": "boolean" }, "timezoneCreatedIn": { "type": "string" }, "signUpOption": { "type": "string", "enum": [ "UNDEFINED", "NO_RESTRICTION", "RESTRICTED_TO_SELF", "RESTRICTED_TO_SPECIFIC" ] }, "deleted": { "type": "boolean" }, "teaserImageName": { "type": "string" }, "teaserImageUrl": { "type": "string" }, "userKey": { "type": "string" }, "eventVersion": { "type": "integer", "format": "int32" }, "eventSpaceKeys": { "type": "array", "items": { "type": "string" } }, "userAndGroups": { "type": "array", "items": { "$ref": "#/components/schemas/UserAndGroupDto" } }, "eventFormat": { "type": "integer", "format": "int32" }, "remoteLink": { "type": "string" }, "fullBackground": { "type": "boolean" }, "timeslotsEnabled": { "type": "boolean" }, "timeslotDurationMinutes": { "type": "integer", "format": "int32" }, "timeslotCount": { "type": "integer", "format": "int32" }, "timeslots": { "type": "array", "items": { "$ref": "#/components/schemas/EventTimeslotDto" } }, "myTimeslot": { "$ref": "#/components/schemas/EventTimeslotDto" }, "dayLong": { "type": "boolean" }, "currentUserParticipating": { "type": "boolean" }, "publicEvent": { "type": "boolean" }, "startTimestamp": { "type": "string" }, "durationInMinutes": { "type": "integer", "format": "int64" }, "endTimestamp": { "type": "string" }, "fullTitle": { "type": "string" } } }, "EventCategoryDto": { "type": "object", "properties": { "label": { "type": "string" }, "id": { "type": "integer", "format": "int32" } } }, "EventDto": { "type": "object", "properties": { "description": { "type": "string" }, "eventId": { "type": "integer", "format": "int64" }, "title": { "type": "string" }, "endDate": { "type": "string", "format": "date-time" }, "deleted": { "type": "boolean" }, "pageId": { "type": "integer", "format": "int64" }, "hasEndTime": { "type": "boolean" }, "timeslotDuration": { "type": "integer", "format": "int32" }, "hasStartTime": { "type": "boolean" }, "startDate": { "type": "string", "format": "date-time" }, "maxParticipants": { "type": "integer", "format": "int32" }, "eventFormat": { "type": "integer", "format": "int32" }, "timeslotsEnabled": { "type": "boolean" }, "fullBackground": { "type": "boolean" }, "remoteLink": { "type": "string" }, "teaserImageUrl": { "type": "string" }, "teaserImageName": { "type": "string" }, "timezoneCreatedIn": { "type": "string" }, "categories": { "type": "array", "items": { "$ref": "#/components/schemas/EventCategoryDto" } }, "location": { "type": "string" }, "version": { "type": "integer", "format": "int32" }, "uuid": { "type": "string" }, "eventSpaceKeys": { "type": "array", "items": { "type": "string" } }, "signUpOption": { "type": "string", "enum": [ "UNDEFINED", "NO_RESTRICTION", "RESTRICTED_TO_SELF", "RESTRICTED_TO_SPECIFIC" ] }, "creatorUserKey": { "type": "string" }, "hideParticipantList": { "type": "boolean" }, "hideParticipantCount": { "type": "boolean" }, "eventEditors": { "type": "array", "items": { "$ref": "#/components/schemas/EventEditorDto" } }, "creatorHidden": { "type": "boolean" }, "signUpAllowed": { "type": "boolean" } } }, "EventEditorDto": { "type": "object", "properties": { "eventId": { "type": "integer", "format": "int64" }, "userKey": { "type": "string" }, "groupName": { "type": "string" } } }, "EventTimeslotDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "event": { "$ref": "#/components/schemas/EventDto" }, "startDate": { "type": "string", "format": "date-time" }, "endDate": { "type": "string", "format": "date-time" }, "participantCount": { "type": "integer", "format": "int32" }, "participants": { "type": "array", "items": { "$ref": "#/components/schemas/ParticipantDto" } } } }, "ParticipantDto": { "type": "object", "properties": { "userName": { "type": "string" }, "userKey": { "type": "string" }, "participantId": { "type": "integer", "format": "int64" }, "eventUuid": { "type": "string", "writeOnly": true }, "fullName": { "type": "string" }, "avatarUrl": { "type": "string" }, "userAnonymised": { "type": "boolean" }, "external": { "type": "boolean" }, "timeslotId": { "type": "integer", "format": "int64" }, "eventUUID": { "type": "string" } } }, "UserAndGroupDto": { "type": "object", "properties": { "type": { "type": "string" }, "name": { "type": "string" } } }, "SearchDto": { "type": "object", "properties": { "onlyMyEvents": { "type": "boolean" }, "title": { "type": "string" }, "startDate": { "type": "string", "format": "date-time" }, "endDate": { "type": "string", "format": "date-time" }, "deleted": { "type": "boolean" }, "categoryIds": { "type": "array", "items": { "type": "string" } }, "location": { "type": "string" }, "limit": { "type": "string" }, "offset": { "type": "string" }, "spaces": { "type": "array", "items": { "type": "string" } }, "categoryConjunctionAnd": { "type": "boolean" }, "timeOffset": { "type": "string" }, "onlyMyParticipations": { "type": "boolean" } }, "xml": { "name": "event" } }, "FilePart": { "type": "object", "properties": { "formField": { "type": "boolean" }, "name": { "type": "string" }, "value": { "type": "string" }, "size": { "type": "integer", "format": "int64" }, "inputStream": { "type": "object" }, "contentType": { "type": "string" } } } } } }  


Linchpin User Profiles

Developer Guide | Essentials_Dev_Guide

REST APIs

Linchpin User Profiles has a RESTful API to retrieve useful information for any kind of external usage.

All endpoints return their data as JSON strings (a standardized lightweight data-interchange format).

Disclaimer

Please be aware, that all APIs might be subject to change without prior announcement.

There is no guarantee and no support.

Usage at your own risk.


 

Profile Fields API

The Profile Fields API gives you all informations  about the configured fields. The Profile Fields API is available under YOUR_DOMAIN_AND_CONTEXT/rest/cup/1.0/fields.

Retrieve a list of all configured user profile fields.

  • URL: /rest/cup/1.0/fields
  • Method: GET
  • Parameters: dataSource=[IDP|XML|LDAP|USER] (optional, filters list of fields by data source) 
    NEW IN LUP 2.21

Results in a complete list of configured fields including all configuration data:

DOMAIN_AND_CONTEXT/rest/cup/1.0/fields
[
   {
      "confluenceCUPField": true,
      "dataSourceUrl": "string",
      "dataSourceType": "USER", 
      "fieldCategoryPK": 0,
      "fieldType": "CASCADE",
      "helpTextKey": "string",
      "hidden": true,
      "inVCard": true,
      "instantMessagingOptionsDto": {
         "discoveryHost": "string",
         "host": "string",
         "label": "string",
         "localizedLabel": "string",
         "statusEnabled": true,
         "type": "JABBER"
      },
      "labelPropertyKey": "string",
      "ldapField": true,
      "ldapKey": "string",
      "linkField": true,
      "linkOptionsDto": {
         "label": "string",
         "linkEnabled": true,
         "localizedLabel": "string",
         "url": "string"
      },
      "localizedFieldCategoryLabel": "string",
      "localizedHelpText": "string",
      "localizedLabel": "string",
      "options": [
         {
            "fieldOptionPK": 0,
            "labelKey": "string",
            "localizedLabelKey": "string",
            "optionPosition": 0
         }
      ],
      "originFieldKey": "string",
      "position": 0,
      "referenceFieldBK": "string",
      "referenceMappings": [
         {
            "dependentFieldBk": "string",
            "pK": 0,
            "sourceFilter": "string",
            "targetValue": "string"
         }
      ],
      "renderStrategy": {},
      "required": true,
      "subtitle": true,
      "type": "CASCADE",
      "userFieldBK": "string",
      "userFieldPK": 0,
      "writeToLdapEnabled": true,
      "xmlField": true,
      "xmlKey": "string"
   },
   { 
      ...
   }
]

User Profile API

The User Profile API provides various profile information. The API is available under DOMAIN_AND_CONTEXT/rest/cup/1.0/profile.

Get the LUP profile of the current user

With this endpoint of the User Profile API you can get the complete profile data of the currently logged in user.

  • URL: DOMAIN_AND_CONTEXT/rest/cup/1.0/profile
  • Method: GET 

Results in a complete set of profile information:

DOMAIN_AND_CONTEXT/rest/cup/1.0/profile
{
   "cup.abteilungsnummer-13":"712",
   "cup.e-mail-10":"Buckminster.Powell@Sales.company.com",
   "cup.fachbereich-12":"Accounting",
   "cup.fachbereich-5":"Sales",
   "cup.jourfix-18":null,
   "cup.land-7":"Germany",
   "cup.ort-6":"Kassel",
   "cup.raumnummer-14":"5925",
   "cup.sprache-15":"DE",
   "cup.stufe-17":"Staff",
   "cup.telefon-11":"(003) 28547554",
   "cup.titel-16":"0",
   "cup.vorgesetzter-19":null,
   "cup.vorname-8":"Buckminster Powell"
}

Get the LUP profile of a given user

With this endpoint of the User Profile API you can get the complete profile data of any given user.

  • URL: DOMAIN_AND_CONTEXT/rest/cup/1.0/profile/{userName}
  • Parameters:
    • userName: confluence user name for the profile you want to retrieve 
  • Method: GET

Results in a complete set of visible profile information of a specified user:

DOMAIN_AND_CONTEXT/rest/cup/1.0/profile/user
{
   "cup.abteilungsnummer-13":"580",
   "cup.e-mail-10":"Bianca.Villarreal@Executive.company.com",
   "cup.fachbereich-12":"Advertising",
   "cup.fachbereich-5":"Executive",
   "cup.jourfix-18":null,
   "cup.land-7":"Norway",
   "cup.ort-6":"Oslo",
   "cup.raumnummer-14":"2843",
   "cup.sprache-15":"EN",
   "cup.stufe-17":"Executive",
   "cup.telefon-11":"(08122) 5570356",
   "cup.titel-16":"0",
   "cup.vorgesetzter-19":null,
   "cup.vorname-8":"Bianca Villarreal"
}

Write data for a given user

NEW IN 2.22.0

With this endpoint you can write the complete profile data.

We are very happy to hear from you if you plan to use this API. Feedback gives us the chance to learn about your use cases and to improve our solution. So if you like just drop us a note via our helpdesk.

  • URL: DOMAIN_AND_CONTEXT/rest/cup/1.0/profile/{userName}
  • Method: PUT
  • Data / body payload:
    DOMAIN_AND_CONTEXT/rest/cup/1.0/profile/user
    {
       "cup.abteilungsnummer-13":"580", // set a new single value
       "cup.fachbereich-12":["Advertising","Marketing","Front Office"], // set multiple values e.g. for multi select fields
       "cup.fachbereich-5":"", // delete a value with "" or null
       "cup.land-7":"Norway"
    }

    Possible Responses:
    • 200 OK
    • 403 FORBIDDEN (update not allowed for one of different reasons)
    • 400 BAD REQUEST(if validation failed), result may look like this:
      400 BAD REQUEST validation failed
      {
        "general": ["You are not allowed to edit this profile." or other general messages]
        "fields": {
          "cup.field-2": "This field can only store exactly one value.",
          "cup.field-3": "The following select options are invalid: A, B, C.",
          "cup.field-4": "Field does not exist.",
          "cup.field-6": "Field is not writeable.",
          "cup.field-7": "Field is required."
        }
      }

Profile data API FAQ

Q: Can we update all field types using the API?
A: Yes.

Q: Can I have an example on how to update data for the type Cascade select?
A: Sure. Let's say your CSV file looks like the one we used as example in our documentation.

cascade_selection_example.csv
Cat-Number, Category,	Group-Number,	Group,		Product-Id,	Product
1,			foodstuffs,	1,				vegetables,	aa,			tomato
1,			foodstuffs,	1,				vegetables,	ab,			potato
1,			foodstuffs,	2,				fruits,		ac,			cherry
1,			foodstuffs,	2,				fruits,		ad,			apple
1,			foodstuffs,	2,				fruits,		ae,			banana
2,			tools,		3,				hand,		ba,			hammer
2,			tools,		3,				hand,		bb,			nipper
2,			tools,		4,				electric,	bc,			drilling machine

If you want to set "foodstuff - vegetables - tomato" and "tools - hand - nipper" to a users profile your JSON request should look like this (the field key must of course match the one you want to change in your system):

{
   "cup.cascading-1":["1/1/aa","2/3/bb"]
}

(warning) Warning: The API will actually not return an error if the data does not exist in your CSV file. It will be saved successfully but in the profiles UI will be no visible data.


Q:
Can the user still overwrite the field after it has been updated by the API or is the field locked?
A: Updating profile fields via the profile API is only possible for fields that are writable, i.e. ones that are not obtaining their values through XML or LDAP import. Thus, it's always possible for users to edit the field values after the API has been used to set a field value. Programmatic locking/unlocking of fields for manual edits is not possible yet

Q:  Is it possible to setup permissions in a way where only an API user can edit fields but users themselves don't have edit access, or maybe just restrict certain fields?
A: No, this is not possible yet. You can grant profile edit permissions to more users but can't exclude the owning user.

Q: Does the API wipe away other fields you don't specify in the API payload?
A: The API only updates the fields that are included with the update request, and keeps the rest intact. Deletion / wiping of existing field data is still possible by providing an empty string as update value, so if that's not desired, you'll need to make sure the JSON passed to our API only contains keys for those fields you'd like to update (and the corresponding values shouldn't be empty in that case, of course).

Profile Picture API

The User Picture API provides access to a users profile picture. The API is available under DOMAIN_AND_CONTEXT/rest/cup/1.0/profile.

Get the profile picture of the current user

With this endpoint of the User Profile API you can get the complete profile data of the currently logged in user.

  • URL: DOMAIN_AND_CONTEXT/rest/cup/1.0/profile/{username}/profilepicture
  • Method: GET
  • Possible Responses: 200 OK
DOMAIN_AND_CONTEXT/rest/cup/1.0/profile/{username}/profilepicture
{
  "uploadAllowed": true,
  "maxFileSize": 2048,
  "dimension": 200,
  "url": [string]
}

Save a new profile picture to a given user

  • URL: DOMAIN_AND_CONTEXT/rest/cup/1.0/profile/{userName}/profilepicture
  • Body payload: "imageDataUrl": [string] (data url of base64 encoded image, e.g. ""data:image/jpeg;base64,/9j/4AAQSk...")
  • Method: PUT
  • Possible Responses: 
    • 200 OK
    • 403 FORBIDDEN (upload not allowed)
    • 404 NOT_FOUND (no user or missing image data)
    • 413 TOO_LARGE (image exceeds max file size)
    • 415 UNSUPPORTED_MEDIA_TYPE (mime type is neither image/png nor image/jpg)

Profile Background Picture API

The User Background Picture API provides access to a users profile background picture. The API is available under DOMAIN_AND_CONTEXT/rest/cup/1.0/profile.

Get the profile background picture of the current user

With this endpoint of the User Profile API you can get the complete profile data of the currently logged in user.

  • URL: DOMAIN_AND_CONTEXT/rest/cup/1.0/profile/{username}/background/image
  • Method: GET
  • Possible Responses: 200 OK + Image data

Save a new profile background picture to a given user

  • URL: DOMAIN_AND_CONTEXT/rest/cup/1.0/profile/{userName}/background/image
  • Method: PUT
  • Possible Responses: 
    • 200 OK
    • 403 FORBIDDEN (upload not allowed)
    • 404 NOT_FOUND (no user or missing image data)
    • 413 TOO_LARGE (image exceeds max file size)
    • 415 UNSUPPORTED_MEDIA_TYPE (mime type is neither image/png nor image/jpg)
  • Payload:
body: {
    "imageDataUrl": [string] (base64 encoded image data),
    "settings": {
        "position": {
            "x": [int],
            "y": [int]
        },
        "imageVersion": [int]
    }
}

 

Delete the profile background picture for a given user

  • URL: DOMAIN_AND_CONTEXT/rest/cup/1.0/profile/{userName}/background/image
  • Method: DELETE
  • Possible Responses:
    • 200 OK
    • 400 BAD_REQUEST
    • 403 FORBIDDEN
    • 404 NOT_FOUND
 


Linchpin Theme - Sidebar

Setup (Backend)

To connect a sidebar panel you need to use Atlassian's ModuleDescriptor mechanism.

An corresponding entry in the atlassian-plugin.xml looks like this:


<linchpin-sidebar-panel key="saved-for-later" class="net.seibertmedia.confluence.linchpinsidebar.panels.savedforlater.SavedForLaterPanel" />


key: a unique key for the descriptor within the implementing app
class: a class that implements the interface LinchpinSidebarPanel and thus further configures the panel (see JavaDocs of the interface).


Obsolete attributes since version 1.3 of the Linchpin Sidebar app

section-name: the section within which the panel is supposed to appear. Available sections: "linchpin", "confluence-features", "jira"
weight: Weight of the panel, determining the order of the panels within the section. 

Since version 1.3 of the Linchpin Sidebar app (which comes bundled with new versions of Linchpin Theme, Suite and Essentials) segmenting and ordering items in the sidebar is configurable.

  • Panels that have neither weight nor section will be placed at the end initially, until an admin changes this configuration.
  • Pre-existing panels that have section and weight will be sorted by section and weight until the configuration is saved for the first time. 
  • New panels with section and weight that are added might appear in a random place, but once the configuration is saved, they keep their configured place. 


Necessary Java classes are being exported by the app. The implementing app needs appropriate imports (pom.xml):

<dependency>
    <groupId>net.seibertmedia.confluence</groupId>
    <artifactId>linchpin-sidebar</artifactId>
    <version>1.2.3</version>
    <scope>provided</scope>
</dependency>

You need to download and install this dependency to your local Maven repository: linchpin-sidebar-1.2.3.obr (This version should be sufficient for development, but you can also use linchpin-sidebar-1.3.0.obr)

mvn install:install-file
  -Dfile=./linchpin-sidebar-1.2.3.obr
  -DgroupId=net.seibertmedia.confluence
  -DartifactId=linchpin-sidebar
  -Dversion=1.2.3
  -Dpackaging=obr
  -DgeneratePom=true

(see also http://maven.apache.org/general.html#importing-jars)


Necessary instructions for the maven-confluence-plugin in your pom.xml:

<DynamicImport-Package>
    net.seibertmedia.confluence.linchpinsidebar.connect.external,
    net.seibertmedia.confluence.linchpinsidebar.render.translate.external
</DynamicImport-Package>


Setup (Content)

Currently the API only offers one method of integrating new sidebar content (see DisplayStrategy). While implementing the panel, a link to an action is transferred via the interface LinchpinSidebarPanel. The content of the panel is an iframe that renders this action. 


Definition of an action in the atlassian-plugin.xml:

<xwork name="Linchpin Sidebar Actions" key="linchpin-sidebar-actions">
    <package name="linchpin-sidebar-actions" extends="default" namespace="/linchpin/sidebar">
        <default-interceptor-ref name="defaultStack"/>
        <action name="saved-for-later" class="net.seibertmedia.confluence.linchpinsidebar.panels.savedforlater.SavedForLaterAction" method="doDefault">
            <result name="success" type="velocity">/sidebar/saved-for-later.vm</result>
        </action>
    </package>
</xwork>

Definition of a sidebar icons resource in the atlassian-plugin.xml:

<web-resource key="linchpin-sidebar-panel-icons">
    <resource name="recent.svg" type="download" location="sidebar/recent.svg" />
	<resource name="new-star.svg" type="download" location="sidebar/new-star.svg" />
</web-resource>

Minimum content of a velocity-template in the resource folder:

#requireResourcesForContext("linchpin-sidebar-iframe-utils")
<html>
<head>
    <title>Sidebar iFrame</title>
    <meta name="decorator" content="atl.popup" />
</head>
<body>
<div>
    <p>Some content...</p>
</div>
</body>
</html>


Stylings depending on a space scheme can be made with this lines within the iframe:

#set ($spaceKey = $req.getParameter("spaceKey"))
#set( $ltpCtx = {"spaceKey" : "$spaceKey"})
#if($spaceKey && $linchpinTheme)
    $linchpinTheme.includeExtensionResources($ltpCtx)
#end

#* alternativ *#
#parse ("/sidebar/space-scheme-aware-iframe.util.vm")


Integrating the resources under the context "linchpin-sidebar-iframe-utils" is necessary if:

  • the content of the action varies in size and might become larger than the sidebar itself. The loaded JavaScript ensures that the iframe of the action will be responsive within the sidebar. 
  • it's necessary to use one of the following util methods.

Within the action you can import two methods via requireJS (or almond), that make communication with the window outside the iframe easier.

  • getParentBody() returns a jQuery object of the surrounding body.
  • executeInParent(fn) executes a function in the surrounding window.

With this it's possible for example to open an aui dialog outside of the action. 


Example:

AJS.toInit(function () {

    var iframeUtils = require("linchpin/sidebar/iframe-utils");

    // move dialog to parent
    iframeUtils.getParentBody().append($('#demo-dialog'));
    $('#demo-dialog').remove();

    // Shows the dialog button within frame is clicked
    AJS.$("#dialog-show-button").click(function (e) {
        e.preventDefault();
        iframeUtils.executeInParent(function () {
            AJS.dialog2("#demo-dialog").show();
        });
    });

    // register close handler in parent
    iframeUtils.executeInParent(function () {
        // Hides the dialog
        AJS.$("#dialog-submit-button").click(function (e) {
            e.preventDefault();
            AJS.dialog2("#demo-dialog").hide();
        });
    });
})


By implementing the LinchpinSidebarPanel you define the URL to the action, how menu entries and their icons are shown etc.

Example:

public class SavedForLaterPanel implements LinchpinSidebarPanel {

    private final static I18nKey headline = I18nKey.of("starred.title");
    private final static I18nKey link = I18nKey.of("some.i18n.key");

    /* wird später u.U. für Migrationspfade nötig. aktuelle Version: 1 */
    @Override
    public int getApiVersion() {return 1; }

    /* aktuell einzige Art und Weise der Darstellung */
    @Override
    public DisplayStrategy getDisplayStrategy() {
        return DisplayStrategy.ACTION;
    }

    /* Angabe, wo das Icon des Eintrags zu sehen ist (überall oder nur im ausgeklappten Modus der Sidebar, vgl. JavaDocs am Enum) */
    @Override
    public MenuViewStrategy getMenuViewStrategy() {
        return MenuViewStrategy.DEFAULT;
    }

    /* Link zur Action */
    @Override
    public String getActionUrl() {
        return "/linchpin/sidebar/saved-for-later.action";
    }

    /* Identifier für das SVG-Icon (Format ist wichtig!) des Menüeintrages  */
    @Override
    public FrontendResourceIdentifier getIcon() {
        return new FrontendResourceIdentifier("net.seibertmedia.confluence.linchpin-sidebar:linchpin-sidebar-panel-icons", "new-star.svg");
    }

    /* Identifier für das svg (Format ist wichtig!) Icon des Menüeintrages im ausgeklappten Zustand.  Falls null wird das obere Icon verwendet. */
    @Nullable
    @Override
    public FrontendResourceIdentifier getNavigationIcon() {
        return null;
    }

    /* i18n Objekt für die Headline. Nicht im getter erzeugen. Objekt wird zur Laufzeit übersetzt. */
    @Override
    public I18nKey getHeadline() {
        return headline;
    }

    /* Link, der neben der Headline angezeigt wird. Optional. */
    @Override
    public AnchorLink getAnchor() {
        return new AnchorLink(link, "http://google.com");
    }
}



Linchpin Microblog

Microblog APIs | microblog_api
{"openapi": "3.0.1","paths": {"/links/resolve": {"get": {"operationId": "resolveConfluenceLink","parameters": [{"name": "url","in": "query","schema": {"type": "string"}}],"responses": {"default": {"description": "default response","content": {"application/json": {"schema": {"$ref": "#/components/schemas/ResolvedConfluenceInternalLink"}}}}}}},"/digest": {"get": {"operationId": "sendDigest","parameters": [{"name": "userName","in": "query","schema": {"type": "string"}},{"name": "limit","in": "query","schema": {"type": "integer","format": "int32","default": 5}},{"name": "dryRun","in": "query","schema": {"type": "boolean","default": false}}],"responses": {"default": {"description": "default response","content": {"text/html;charset=UTF-8": {}}}}}},"/subscription": {"get": {"operationId": "getSubscription","responses": {"default": {"description": "default response","content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubscriptionDto"}}}}}},"post": {"operationId": "createSubscription","responses": {"default": {"description": "default response","content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubscriptionDto"}}}}}},"delete": {"operationId": "unsubscribe","responses": {"default": {"description": "default response","content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubscriptionDto"}}}}}}},"/subscription/type": {"put": {"operationId": "setSubscriptionType","requestBody": {"content": {"application/json": {"schema": {"type": "string","enum": ["daily","immediate"]}}}},"responses": {"default": {"description": "default response","content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubscriptionDto"}}}}}}},"/subscription/time": {"put": {"operationId": "setTime","requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DigestTime"}}}},"responses": {"default": {"description": "default response","content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubscriptionDto"}}}}}}},"/subscription/myselection": {"put": {"operationId": "subscribeMySelection","responses": {"default": {"description": "default response","content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubscriptionDto"}}}}}}},"/subscription/selection": {"put": {"operationId": "updateSelection","requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserSelectionDto"}}}},"responses": {"default": {"description": "default response","content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubscriptionDto"}}}}}}},"/my-spaces-and-topics": {"get": {"operationId": "getSelection","responses": {"default": {"description": "default response","content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserSelectionDto"}}}}}},"put": {"operationId": "save","requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserSelectionDto"}}}},"responses": {"default": {"description": "default response","content": {"application/json": {}}}}}},"/postinstall/post-install-info-confirmation": {"post": {"operationId": "setPostInstallInfoConfirmation","requestBody": {"content": {"application/json": {"schema": {"type": "string","enum": ["CONFIRMED","UNCONFIRMED"]}}}},"responses": {"default": {"description": "default response","content": {"application/json": {}}}}}},"/microposts/count": {"get": {"operationId": "countByLuceneQueryByGetRequest","parameters": [{"name": "query","in": "query","schema": {"type": "string"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {"schema": {"type": "integer","format": "int64"}}}}}},"post": {"operationId": "countByLuceneQueryByPostRequest","requestBody": {"content": {"*/*": {"schema": {"type": "string"}}}},"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {"schema": {"type": "integer","format": "int64"}}}}}}},"/microposts/{id}/likes": {"get": {"operationId": "getLikesOfPost","parameters": [{"name": "id","in": "path","required": true,"schema": {"type": "string"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/microposts/{id}/oldversions": {"get": {"operationId": "getOldPostVersions","parameters": [{"name": "id","in": "path","required": true,"schema": {"type": "string"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/microposts/{id}": {"get": {"operationId": "getPost","parameters": [{"name": "id","in": "path","required": true,"schema": {"type": "string"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}},"put": {"operationId": "save_1","parameters": [{"name": "id","in": "path","required": true,"schema": {"type": "string"}}],"requestBody": {"content": {"*/*": {"schema": {"type": "object","properties": {"html": {"type": "string","default": ""},"topicId": {"type": "string"},"parentId": {"type": "string"},"edit": {"type": "boolean","default": false}}}}}},"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}},"delete": {"operationId": "remove","parameters": [{"name": "id","in": "path","required": true,"schema": {"type": "string"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/microposts/{id}/editorformat": {"get": {"operationId": "getPostEditorFormat","parameters": [{"name": "id","in": "path","required": true,"schema": {"type": "string"}}],"responses": {"default": {"description": "default response","content": {"text/html; charset=UTF-8": {}}}}}},"/microposts/{id}/like": {"post": {"operationId": "likePost","parameters": [{"name": "id","in": "path","required": true,"schema": {"type": "string"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/microposts/search": {"get": {"operationId": "searchByLuceneQueryByGetRequest","parameters": [{"name": "query","in": "query","schema": {"type": "string"}},{"name": "replyLimit","in": "query","schema": {"$ref": "#/components/schemas/ReplyLimit"}},{"name": "offset","in": "query","schema": {"type": "integer","format": "int32"}},{"name": "limit","in": "query","schema": {"type": "integer","format": "int32"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}},"post": {"operationId": "searchByLuceneQueryByPostRequest","parameters": [{"name": "replyLimit","in": "query","schema": {"$ref": "#/components/schemas/ReplyLimit"}},{"name": "offset","in": "query","schema": {"type": "integer","format": "int32"}},{"name": "limit","in": "query","schema": {"type": "integer","format": "int32"}}],"requestBody": {"content": {"*/*": {"schema": {"type": "string"}}}},"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/sketch": {"post": {"operationId": "sketch","requestBody": {"content": {"*/*": {"schema": {"type": "object","properties": {"topicId": {"type": "string"}}}}}},"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/microposts/{id}/watch": {"put": {"operationId": "watchPost","parameters": [{"name": "id","in": "path","required": true,"schema": {"type": "string"}}],"requestBody": {"content": {"*/*": {"schema": {"type": "boolean"}}}},"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/topics/{topicId}/microposts/count": {"get": {"operationId": "countMicropostsInTopic","parameters": [{"name": "topicId","in": "path","required": true,"schema": {"type": "integer","format": "int64"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/topics": {"get": {"operationId": "getTopics","responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}},"post": {"operationId": "createTopic","requestBody": {"content": {"*/*": {"schema": {"$ref": "#/components/schemas/TopicDto"}}}},"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/topics/{topicId}": {"post": {"operationId": "updateTopic","parameters": [{"name": "topicId","in": "path","required": true,"schema": {"$ref": "#/components/schemas/TopicId"}}],"requestBody": {"content": {"*/*": {"schema": {"$ref": "#/components/schemas/TopicDto"}}}},"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}},"delete": {"operationId": "deleteTopic","parameters": [{"name": "topicId","in": "path","required": true,"schema": {"$ref": "#/components/schemas/TopicId"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/topics/permission/administerable": {"get": {"operationId": "getAdministerable","responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/topics/space/{spaceKey}": {"get": {"operationId": "getTopics_1","parameters": [{"name": "spaceKey","in": "path","required": true,"schema": {"type": "string"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/topics/user": {"get": {"operationId": "getUserSelectedSpacesAndTopics","responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {"schema": {"type": "array","items": {"$ref": "#/components/schemas/TopicsInSpaceDto"}}}}}}}},"/topics/permission/writable": {"get": {"operationId": "getWritable","responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {"schema": {"type": "array","items": {"$ref": "#/components/schemas/TopicsInSpaceDto"}}}}}}}},"/topics/space/{spaceKey}/permission/writable": {"get": {"operationId": "getWritable_1","parameters": [{"name": "spaceKey","in": "path","required": true,"schema": {"type": "string"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {"schema": {"type": "array","items": {"$ref": "#/components/schemas/TopicsInSpaceDto"}}}}}}}},"/topics/{topicId}/move/topic/{newTopicId}": {"put": {"operationId": "moveMicropostToTopic","parameters": [{"name": "topicId","in": "path","required": true,"schema": {"type": "integer","format": "int64"}},{"name": "newTopicId","in": "path","required": true,"schema": {"type": "integer","format": "int64"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/topics/{topicId}/move/space/{newSpaceKey}": {"put": {"operationId": "moveTopicToSpace","parameters": [{"name": "topicId","in": "path","required": true,"schema": {"type": "integer","format": "int64"}},{"name": "newSpaceKey","in": "path","required": true,"schema": {"type": "string"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/topics/space/{spaceKey}/topicorder": {"put": {"operationId": "saveTopicOrder","parameters": [{"name": "spaceKey","in": "path","required": true,"schema": {"type": "string"}}],"requestBody": {"content": {"application/json": {"schema": {"type": "array","items": {"type": "integer","format": "int64"}}}}},"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}},"/users/reply": {"get": {"operationId": "getUserForReply","parameters": [{"name": "username","in": "query","schema": {"type": "string"}}],"responses": {"default": {"description": "default response","content": {"application/json;charset=UTF-8": {}}}}}}},"components": {"schemas": {"ResolvedConfluenceInternalLink": {"type": "object","properties": {"href": {"type": "string"},"id": {"type": "integer","format": "int64"},"version": {"type": "integer","format": "int32"},"type": {"type": "string"},"title": {"type": "string"}}},"SubscriptionDto": {"type": "object","properties": {"hasSubscribed": {"type": "boolean"},"userKey": {"type": "string"},"rawTime": {"type": "integer","format": "int32"},"time": {"type": "string"},"mySelection": {"type": "boolean"},"type": {"type": "string","enum": ["daily","immediate"]},"selection": {"$ref": "#/components/schemas/UserSelectionDto"}}},"UserSelectionDto": {"type": "object","properties": {"global": {"type": "boolean"},"spaceIds": {"type": "array","items": {"type": "integer","format": "int64"}},"topicIds": {"type": "array","items": {"type": "integer","format": "int64"}}}},"DigestTime": {"type": "object","properties": {"time": {"type": "integer","format": "int32"},"valid": {"type": "boolean"},"formattedTime": {"type": "string"}}},"ReplyLimit": {"type": "object","properties": {"value": {"type": "integer","format": "int32"},"all": {"type": "boolean"}}},"TopicDto": {"type": "object","properties": {"id": {"type": "integer","format": "int64"},"name": {"type": "string"},"spaceName": {"type": "string"},"spaceId": {"type": "integer","format": "int64"},"spaceKey": {"type": "string"},"creationDate": {"type": "string","format": "date-time"},"lastModificationDate": {"type": "string","format": "date-time"},"position": {"type": "integer","format": "int32"},"unknown": {"type": "boolean"}}},"TopicId": {"type": "object"},"TopicsInSpaceDto": {"type": "object","properties": {"spaceId": {"type": "integer","format": "int64"},"spaceKey": {"type": "string"},"spaceName": {"type": "string"},"defaultTopicId": {"type": "integer","format": "int64"},"topics": {"type": "array","items": {"$ref": "#/components/schemas/TopicDto"}}}}}}}


Linchpin Launchpad

REST API

The Linchpin Launchpad app has a RESTful API to retrieve useful information for any kind of external usage.

All endpoints return their data as JSON strings (a standardized lightweight data-interchange format).

Please be aware, that all APIs might be subject to change without prior announcement.

There is no guarantee and no support.

Usage at your own risk.

 
{ "swagger": "2.0", "info": { "version": "1.7.2", "title": "Launchpad - Access Your External Tools" }, "paths": { "/ao-export": { "get": { "consumes": [ ], "produces": [ "application/octet-stream" ], "parameters": [ ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "string" } } } } }, "/app": { "get": { "description": "Lists all apps.", "consumes": [ ], "produces": [ "application/json" ], "parameters": [ ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "$ref": "#/definitions/AppDto" } } } } } }, "/app/apps": { "get": { "description": "This REST interface converts the given queryParam to an instance of AppsRequestDto, that contains the informations for querying AppDtos.\n AppsRequestDto contains the three groups 'types', 'labes' and 'keys'.\n While the elements per group will concatenated with OR, the groups itself will be concatenated with AND.\n <p>\n E.g. an AppsRequestDto containing types=['recommended', 'new'] and labels=['Mobile'] will result in ((recommended OR new) AND Mobile)", "consumes": [ ], "produces": [ "application/json" ], "parameters": [ { "type": "string", "name": "queryParam", "in": "query", "required": false, "default": "{}" } ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "$ref": "#/definitions/AppDto" } } } } } }, "/app/appsmap": { "get": { "consumes": [ ], "produces": [ "application/json" ], "parameters": [ { "type": "boolean", "name": "mandatoryApps", "in": "query", "required": true }, { "type": "boolean", "name": "newApps", "in": "query", "required": true }, { "type": "boolean", "name": "recommendedApps", "in": "query", "required": true }, { "type": "boolean", "name": "userApps", "in": "query", "required": true }, { "type": "boolean", "name": "visibleApps", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "object" } } } } }, "/app/ids": { "get": { "description": "Searches apps by ids", "consumes": [ ], "produces": [ "application/json" ], "parameters": [ { "type": "array", "items": { "type": "integer" }, "name": "id", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "$ref": "#/definitions/AppDto" } } } } } }, "/app/keys": { "get": { "description": "Returns one app by its configured key", "consumes": [ ], "produces": [ "application/json" ], "parameters": [ { "type": "array", "items": { "type": "string" }, "name": "keys", "in": "query", "required": true, "description": "The key of the app to return" } ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "$ref": "#/definitions/AppDto" } } } } } }, "/app/label/{label}": { "get": { "description": "Returns apps filtered by specified label", "consumes": [ ], "produces": [ "application/json" ], "parameters": [ { "type": "string", "name": "label", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "$ref": "#/definitions/AppDto" } } } } } }, "/app/mandatory": { "get": { "description": "Lists all mandatory apps.", "consumes": [ ], "produces": [ "application/json" ], "parameters": [ ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "$ref": "#/definitions/AppDto" } } } } } }, "/app/new": { "get": { "consumes": [ ], "produces": [ "application/json" ], "parameters": [ ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "$ref": "#/definitions/AppDto" } } } } } }, "/app/recommended": { "get": { "description": "Lists all recommended apps.", "consumes": [ ], "produces": [ "application/json" ], "parameters": [ ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "$ref": "#/definitions/AppDto" } } } } } }, "/app/search": { "get": { "description": "Searches apps by title", "consumes": [ ], "produces": [ "application/json" ], "parameters": [ { "type": "string", "name": "searchString", "in": "query", "required": true, "description": "Title of search app for" } ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "$ref": "#/definitions/AppDto" } } } } } }, "/applabel": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "$ref": "#/definitions/AppLabelDto" } } } } }, "post": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/AppLabelDto" } } ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "$ref": "#/definitions/AppLabelDto" } } } } }, "/applabel/{id}": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "type": "integer", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "$ref": "#/definitions/AppLabelDto" } } } }, "put": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/AppLabelDto" } } ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "$ref": "#/definitions/AppLabelDto" } } } }, "delete": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "type": "integer", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "headers": { } } } } }, "/category": { "get": { "consumes": [ ], "produces": [ "application/json" ], "parameters": [ ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "$ref": "#/definitions/CategoryDto" } } } } }, "post": { "consumes": [ ], "produces": [ "application/json" ], "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CategoryDto" } } ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "$ref": "#/definitions/CategoryDto" } } } } }, "/category/order": { "put": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "integer" } } } ], "responses": { "204": { "description": "No Content", "headers": { } } } } }, "/category/{id}": { "put": { "consumes": [ ], "produces": [ "application/json" ], "parameters": [ { "type": "integer", "name": "id", "in": "path", "required": true }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/CategoryDto" } } ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "$ref": "#/definitions/CategoryDto" } } } }, "delete": { "consumes": [ ], "produces": [ "application/json" ], "parameters": [ { "type": "integer", "name": "id", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content", "headers": { } } } } }, "/configuration": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "$ref": "#/definitions/ConfigurationDto" } } } }, "put": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ConfigurationDto" } } ], "responses": { "204": { "description": "No Content", "headers": { } } } } }, "/cup/configuration": { "get": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "type": "string" } } } } }, "put": { "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "204": { "description": "No Content", "headers": { } } } } }, "/export/category": { "get": { "consumes": [ ], "produces": [ "application/json" ], "parameters": [ ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "$ref": "#/definitions/CategoryDto" } } } } } }, "/export/html": { "get": { "consumes": [ ], "produces": [ "application/octet-stream" ], "parameters": [ { "type": "array", "items": { "type": "integer" }, "name": "categoryIds", "in": "query", "required": true }, { "type": "array", "items": { "type": "string" }, "name": "inclusions", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "headers": { "content-disposition": { "type": "string" } }, "schema": { "type": "string" } } } } }, "/i18n-plugin-configuration/category/{categoryId}": { "get": { "consumes": [ ], "produces": [ ], "parameters": [ { "type": "integer", "name": "categoryId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "$ref": "#/definitions/I18nPluginConfiguration" } } } } }, "/i18n-plugin-configuration/label/{labelId}": { "get": { "consumes": [ ], "produces": [ ], "parameters": [ { "type": "integer", "name": "labelId", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "$ref": "#/definitions/I18nPluginConfiguration" } } } } }, "/userapp": { "get": { "description": "Lists all apps for the current user.", "consumes": [ ], "produces": [ "application/json" ], "parameters": [ ], "responses": { "200": { "description": "OK", "headers": { }, "schema": { "type": "array", "items": { "$ref": "#/definitions/AppDto" } } } } } }, "/userapp/{appId}": { "post": { "description": "Assigns a app to the current user.", "consumes": [ ], "produces": [ "application/json" ], "parameters": [ { "type": "integer", "name": "appId", "in": "path", "required": true, "description": "Id of the app which should be assigned to the user." } ], "responses": { "204": { "description": "No Content", "headers": { } } } }, "delete": { "description": "Removes the connection between the given app and the current user.", "consumes": [ ], "produces": [ "application/json" ], "parameters": [ { "type": "integer", "name": "appId", "in": "path", "required": true, "description": "Id of the app which should be assigned to the user." } ], "responses": { "204": { "description": "No Content", "headers": { } } } } } }, "definitions": { "AppDto": { "properties": { "appLabelIds": { "type": "array", "items": { "type": "integer" } }, "appLabels": { "type": "array", "items": { "$ref": "#/definitions/AppLabelDto" } }, "appLink": { "type": "string" }, "categories": { "type": "array", "items": { "$ref": "#/definitions/CategoryDto" } }, "categoryIds": { "type": "array", "items": { "type": "integer" } }, "contact": { "type": "string" }, "contactFullname": { "type": "string" }, "contactUsername": { "type": "string" }, "customField": { "$ref": "#/definitions/CustomFieldDto" }, "description": { "type": "string" }, "displayedLabel": { "$ref": "#/definitions/AppLabelDto" }, "displayedLabelId": { "type": "integer" }, "hasIcon": { "type": "boolean" }, "id": { "type": "integer" }, "key": { "type": "string" }, "localizedAppLink": { "type": "string" }, "localizedDescription": { "type": "string" }, "localizedTitle": { "type": "string" }, "title": { "type": "string" } } }, "AppLabelDto": { "properties": { "id": { "type": "integer" }, "localizedName": { "type": "string" }, "name": { "type": "string" } } }, "CategoryDto": { "properties": { "appCount": { "type": "integer" }, "apps": { "type": "array", "items": { "$ref": "#/definitions/AppDto" } }, "children": { "type": "array", "items": { "$ref": "#/definitions/CategoryDto" } }, "fullName": { "type": "string" }, "id": { "type": "integer" }, "localizedFullName": { "type": "string" }, "localizedName": { "type": "string" }, "localizedParentName": { "type": "string" }, "name": { "type": "string" }, "parentId": { "type": "integer" }, "parentName": { "type": "string" }, "position": { "type": "integer" } } }, "ConfigurationDto": { "properties": { "customFieldEnabled": { "type": "boolean" }, "customFieldLabel": { "type": "string" }, "headerWebItemVisible": { "type": "boolean" }, "markAsNewEnabled": { "type": "boolean" }, "weeksToMarkAsNew": { "type": "integer" } } }, "CustomFieldDto": { "properties": { "label": { "type": "string" }, "localizedLabel": { "type": "string" }, "value": { "type": "string" } } }, "I18nPluginConfiguration": { "properties": { "fieldConfigurations": { "type": "object" }, "pluginKey": { "type": "string" } } } } }


Space Privacy

Disclaimer: Space Privacy is not included with the Linchpin Intranet Suite and must be bought separately from the Atlassian Marketplace.

Space Privacy APIs | space_privacy_api

Prefix

The Space Privacy API prefix is /rest/extranet/1.0/ for all endpoints listed below.

REST API


Space Privacy has a RESTful API to retrieve useful information for any kind of external usage.

All endpoints return their data as JSON strings (a standardized lightweight data-interchange format).

Please be aware, that all APIs might be subject to change without prior announcement.

There is no guarantee and no support.

Usage at your own risk.

{"openapi":"3.0.1","paths":{"/darkfeature":{"get":{"operationId":"getDarkFeatures","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DarkFeatureDto"}}}}}}}},"/darkfeature/disable/{featureKey}":{"get":{"operationId":"disableDarkFeature","parameters":[{"name":"featureKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/darkfeature/enable/{featureKey}":{"get":{"operationId":"enableDarkFeature","parameters":[{"name":"featureKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/customfilter":{"get":{"operationId":"getCustomFilters","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomFilterDto"}}}}}}},"put":{"operationId":"saveCustomFilters","requestBody":{"content":{"application/json":{"schema":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/CustomFilterDto"}}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/extranet-privacy-granted-field-values":{"get":{"operationId":"get","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UiSupportValue"}}}}}}},"/config/autosynchronization":{"get":{"operationId":"getAutoSynchronizationConfig","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoSynchronizationDto"}}}}}}},"/config/autosynchronization/enable":{"put":{"operationId":"enableAutoSynchronization","responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/config/autosynchronization/disable":{"put":{"operationId":"disableAutoSynchronization","responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/check/user-directory-permissions":{"get":{"operationId":"getUserDirectoryPermissions","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDirectoriesStateDto"}}}}}}},"/export":{"get":{"operationId":"export","responses":{"default":{"description":"default response","content":{"application/octet-stream":{}}}}}},"/reindex/user":{"post":{"operationId":"reindexUsers","responses":{"default":{"description":"default response","content":{"*/*":{}}}}},"delete":{"operationId":"skipReindex","responses":{"default":{"description":"default response","content":{"*/*":{}}}}}},"/reindex/user/require":{"post":{"operationId":"setReindexMarker","responses":{"default":{"description":"default response","content":{"*/*":{}}}}}},"/postinstall/post-install-info-confirmation":{"post":{"operationId":"setPostInstallInfoConfirmation","requestBody":{"content":{"application/json":{"schema":{"type":"string","enum":["CONFIRMED","UNCONFIRMED"]}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/administrator/space/{spaceKey}":{"get":{"operationId":"getExtranetUserManagersLegacy","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConfluenceUserDto"}}}}}}},"put":{"operationId":"assignExtranetUserManager","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfluenceSpaceDto"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/administrator/space/{spaceKey}/users":{"get":{"operationId":"getExtranetUserManagers","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConfluenceUserDto"}}}}}}}},"/administrator/space/{spaceKey}/managers":{"get":{"operationId":"searchExtranetManagers","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}},{"name":"userManager","in":"query","schema":{"type":"boolean"}},{"name":"spaceManager","in":"query","schema":{"type":"boolean"}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConfluenceUserDto"}}}}}}}},"/administrator/space/{spaceKey}/search":{"get":{"operationId":"searchExtranetManagers_1","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}},{"name":"search","in":"query","schema":{"type":"string","default":""}},{"name":"managerType","in":"query","schema":{"type":"string","enum":["ALL_MANAGERS","SPACE_MANAGERS_ONLY","USER_MANAGERS_ONLY"],"default":"ALL_MANAGERS"}},{"name":"offset","in":"query","schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":10}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageExtranetUserRelationDto"}}}}}}},"/administrator/space/{spaceKey}/{userKey}":{"delete":{"operationId":"removeExtranetUserManager","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}},{"name":"userKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/administrator/group/space/{spaceKey}":{"delete":{"operationId":"removeExtranetAdminGroupFromExtranet","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/administrator/space/{spaceKey}/groups":{"get":{"operationId":"getExtranetGroupRelations","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}},{"name":"offset","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageExtranetGroupRelationDto"}}}}}}},"/administrator/convert/default":{"post":{"operationId":"convertAllExtranetSpacesToDefaultSpaces","responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/cleanup/group-permissions-status":{"get":{"operationId":"getCleanupExtranetGroupPermissionsProgress","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Progress"}}}}}}},"/cleanup/group-permissions":{"post":{"operationId":"cleanupGroupPermissions","responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/cleanup/extranet-space-access-status":{"get":{"operationId":"getCleanupExtranetSpaceAccessProgress","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Progress"}}}}}}},"/cleanup/extranet-space-access":{"post":{"operationId":"cleanupExtranetSpaceAccess","responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/cleanup/global-extranet-access-status":{"get":{"operationId":"getCleanupGlobalExtranetAccessProgress","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Progress"}}}}}}},"/cleanup/global-extranet-access":{"post":{"operationId":"cleanupGlobalExtranetAccess","responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/group/space/{spaceKey}":{"get":{"operationId":"getExtranetGroupRelations_1","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}},{"name":"offset","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageExtranetGroupRelationDto"}}}}}},"put":{"operationId":"assignGroupsToExtranet","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetGroupDto"}}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}},"delete":{"operationId":"removeExtranetGroupFromExtranet","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/index-state/{spaceKey}/checkandfix":{"get":{"operationId":"checkAndFix","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckAndFixResultDto"}}}}}}},"/index-state/{spaceKey}/canupdatelist":{"get":{"operationId":"userListIsUpdatable","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserListStateForSpaceDto"}}}}}}},"/role/{roleName}/active":{"put":{"operationId":"toggleActive","parameters":[{"name":"roleName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/role/{roleName}/spacepermission":{"get":{"operationId":"getSpacePermissionsForRole","parameters":[{"name":"roleName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtranetRoleDto"}}}}}}},"/role/spacepermission":{"get":{"operationId":"getSpacePermissionsForAllRoles","parameters":[{"name":"onlyActive","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetRoleDto"}}}}}}},"put":{"operationId":"updatePermissionsForRole","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtranetRoleDto"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtranetRoleDto"}}}}}}},"/role/update-progress":{"get":{"operationId":"getUpdateProgress","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgressDto"}}}}}}},"/role":{"get":{"operationId":"list","parameters":[{"name":"onlyActive","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetRoleDto"}}}}}}},"put":{"operationId":"update","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetRoleDto"}}}}},"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetRoleDto"}}}}}}}},"/space/statistics":{"get":{"operationId":"getStatistics","parameters":[{"name":"offset","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageExtranetSpaceStatisticsDto"}}}}}}},"/space":{"post":{"operationId":"createExtranetSpace","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfluenceSpaceDto"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/space/{spaceKey}":{"post":{"operationId":"convertExtranetSpace","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfluenceSpaceDto"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/space/convert/default/{spaceKey}":{"post":{"operationId":"convertExtranetSpaceToDefaultSpace","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/sync/activation-sync-status":{"get":{"operationId":"getActivationSyncStatus","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Progress"}}}}}}},"/sync/activation-sync":{"post":{"operationId":"runActivationSync","responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/sync/progress":{"get":{"operationId":"getSyncProgress","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Progress"}}}}}}},"/user/space/{spaceKey}":{"get":{"operationId":"getExtranetUsers","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}},{"name":"search","in":"query","schema":{"type":"string"}},{"name":"roleName","in":"query","schema":{"type":"string"}},{"name":"offset","in":"query","schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","schema":{"type":"integer","format":"int32","default":10}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageExtranetUserRelationDto"}}}}}},"put":{"operationId":"assignUsersToExtranet","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetUserDto"}}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}},"post":{"operationId":"saveExtranetUser","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfluenceUserDto"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/user/exists":{"get":{"operationId":"userAlreadyExists","parameters":[{"name":"username","in":"query","schema":{"type":"string"}},{"name":"spaceKey","in":"query","schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/user/roles":{"get":{"operationId":"getExtranetUserRoles","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetRoleDto"}}}}}}}},"/user/space/{spaceKey}/{userKey}":{"delete":{"operationId":"removeExtranetUserFromExtranet","parameters":[{"name":"spaceKey","in":"path","required":true,"schema":{"type":"string"}},{"name":"userKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/welcomemail":{"get":{"operationId":"getWelcomeMailTranslations","parameters":[{"name":"spaceKey","in":"query","schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WelcomeMailDto"}}}}}}}},"/welcomemail/example":{"get":{"operationId":"getExampleWelcomeMailTranslations","parameters":[{"name":"spaceKey","in":"query","schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WelcomeMailDto"}}}}}}}},"/settings/extranet-space-access-mode":{"get":{"operationId":"getExtranetSpaceAccessMode","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"string","enum":["BY_GROUP_PERMISSIONS","BY_SINGLE_PERMISSIONS"]}}}}}},"put":{"operationId":"setExtranetSpaceAccessMode","requestBody":{"content":{"application/json":{"schema":{"type":"string","enum":["BY_GROUP_PERMISSIONS","BY_SINGLE_PERMISSIONS"]}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/visibilitycheck/canseeuser":{"get":{"operationId":"canSeeUser","parameters":[{"name":"selectedUserName","in":"query","schema":{"type":"string"}},{"name":"userNameToCheck","in":"query","schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/admin/allowedadminroles":{"get":{"operationId":"getAllowedAdminRoles","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}},"post":{"operationId":"setAllowedAdminRoles","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/predefined-admin-roles":{"put":{"operationId":"addInitialExtranetPermissions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredefinedAdminsDto"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/predefined-admin-roles/groups":{"get":{"operationId":"getInitialAdminGroups","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageExtranetGroupRelationDto"}}}}}}},"/predefined-admin-roles/groups/{groupName}":{"delete":{"operationId":"removeInitialAdminGroup","parameters":[{"name":"groupName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/predefined-admin-roles/users":{"get":{"operationId":"getInitialAdminUsers","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageExtranetUserRelationDto"}}}}}}},"/predefined-admin-roles/users/{userKey}":{"delete":{"operationId":"removeInitialAdminUser","parameters":[{"name":"userKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/predefined-admin-roles/user-managers":{"get":{"operationId":"getInitialUserAdmins","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserOrGroupDto"}}}}}}}},"/predefined-admin-roles/space-managers":{"get":{"operationId":"getInitialSpaceAdmins","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserOrGroupDto"}}}}}}}},"/admin/createuser":{"get":{"operationId":"isUserCreateModeActive","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreateDto"}}}}}},"post":{"operationId":"saveUserCreateSettings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreateDto"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}},"/config/visibility":{"get":{"operationId":"getVisibilityConfig","responses":{"default":{"description":"default response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisibilityConfigDto"}}}}}},"post":{"operationId":"saveVisibilityConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisibilityConfigDto"}}}},"responses":{"default":{"description":"default response","content":{"application/json":{}}}}}}},"components":{"schemas":{"DarkFeatureDto":{"type":"object","properties":{"featureKey":{"type":"string"},"enabled":{"type":"boolean"}}},"CustomFilterDto":{"type":"object","properties":{"filterUrl":{"type":"string"}}},"UiFieldValue":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"}}},"UiSupportValue":{"type":"object","properties":{"suggestedResults":{"type":"array","items":{"$ref":"#/components/schemas/UiFieldValue"}},"searchResults":{"type":"array","items":{"$ref":"#/components/schemas/UiFieldValue"}}}},"AutoSynchronizationDto":{"type":"object","properties":{"activationSyncEnabled":{"type":"boolean"}}},"UserDirectoriesStateDto":{"type":"object","properties":{"writableDirectories":{"type":"array","items":{"$ref":"#/components/schemas/UserDirectoryDto"}},"nonWritableDirectories":{"type":"array","items":{"$ref":"#/components/schemas/UserDirectoryDto"}},"userDirectoryStateMessage":{"$ref":"#/components/schemas/UserDirectoryStateMessage"}}},"UserDirectoryDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"type":{"type":"string"}}},"UserDirectoryStateMessage":{"type":"object","properties":{"messageType":{"type":"string"},"message":{"type":"string"}}},"ConfluenceSpaceDto":{"type":"object","properties":{"spaceKey":{"type":"string"},"spaceName":{"type":"string"},"extranetUserManagers":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetUserDto"}},"extranetSpaceManagers":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetUserDto"}},"extranetUserManagerGroups":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetGroupDto"}},"extranetSpaceManagerGroups":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetGroupDto"}}}},"ConfluenceUser":{"type":"object","properties":{"lowerName":{"type":"string"},"key":{"$ref":"#/components/schemas/UserKey"},"email":{"type":"string"},"fullName":{"type":"string"},"name":{"type":"string"}}},"ExtranetGroupDto":{"type":"object","properties":{"role":{"type":"string"},"welcomeMailParameters":{"$ref":"#/components/schemas/WelcomeMailParameters"},"groupname":{"$ref":"#/components/schemas/Groupname"},"id":{"type":"string"}}},"ExtranetUserDto":{"type":"object","properties":{"role":{"type":"string"},"welcomeMailParameters":{"$ref":"#/components/schemas/WelcomeMailParameters"},"userKey":{"type":"string"},"username":{"type":"string"},"idType":{"type":"string","enum":["UserKey","Username"]},"id":{"type":"string"}}},"Groupname":{"type":"object"},"UserKey":{"type":"object","properties":{"stringValue":{"type":"string"}}},"WelcomeMailParameters":{"type":"object","properties":{"sendMail":{"type":"boolean"},"sender":{"$ref":"#/components/schemas/ConfluenceUser"},"receiver":{"$ref":"#/components/schemas/ConfluenceUser"},"spaceKey":{"type":"string"},"mailLanguage":{"type":"string","enum":["EN","DE"]}}},"ConfluenceUserDto":{"type":"object","properties":{"userKey":{"type":"string"},"name":{"type":"string"},"fullName":{"type":"string"},"email":{"type":"string"},"password":{"type":"string"},"role":{"type":"string"},"kind":{"type":"string"},"welcomeMailParameters":{"$ref":"#/components/schemas/WelcomeMailParameters"},"sendResetPasswordMail":{"type":"boolean"}}},"ExtranetDto":{"type":"object","properties":{"spaceKey":{"type":"string"},"spaceName":{"type":"string"}}},"ExtranetGroupRelationDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"extranet":{"$ref":"#/components/schemas/ExtranetDto"},"groupname":{"$ref":"#/components/schemas/Groupname"},"role":{"$ref":"#/components/schemas/ExtranetRoleDto"},"kind":{"type":"string","enum":["PARTICIPANT","USER_MANAGER","EXTRANET_MANAGER","GROUP_PARTICIPANT","GROUP_RELATION"]},"spaceAdmin":{"type":"boolean"}}},"ExtranetRoleDto":{"type":"object","properties":{"defined":{"type":"boolean"},"name":{"type":"string"},"active":{"type":"boolean"},"i18nKey":{"type":"string"},"permissionsForRole":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ExtranetSpacePermissionDto"}},"label":{"type":"string"}}},"ExtranetSpacePermissionDto":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"editable":{"type":"boolean"}}},"ExtranetUserRelationDto":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"user":{"$ref":"#/components/schemas/ConfluenceUserDto"},"extranet":{"$ref":"#/components/schemas/ExtranetDto"},"role":{"$ref":"#/components/schemas/ExtranetRoleDto"},"kinds":{"type":"array","items":{"type":"string","enum":["PARTICIPANT","USER_MANAGER","EXTRANET_MANAGER","GROUP_PARTICIPANT","GROUP_RELATION"]}},"groupRelations":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetGroupRelationDto"}},"spaceAdmin":{"type":"boolean"},"groupRelation":{"type":"boolean"},"participant":{"type":"boolean"},"userManager":{"type":"boolean"},"active":{"type":"boolean"}}},"PageExtranetUserRelationDto":{"type":"object","properties":{"limit":{"type":"integer","format":"int32"},"offset":{"type":"integer","format":"int32"},"totalResults":{"type":"integer","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetUserRelationDto"}}}},"PageExtranetGroupRelationDto":{"type":"object","properties":{"limit":{"type":"integer","format":"int32"},"offset":{"type":"integer","format":"int32"},"totalResults":{"type":"integer","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetGroupRelationDto"}}}},"Progress":{"type":"object","properties":{"total":{"type":"integer","format":"int32"},"currentCount":{"type":"integer","format":"int32"},"percentage":{"type":"integer","format":"int32"},"timeRemaining":{"type":"string"},"running":{"type":"boolean"}}},"CheckAndFixResultDto":{"type":"object","properties":{"usersInExtranet":{"type":"integer","format":"int32"},"usersInIndex":{"type":"integer","format":"int32"},"inSync":{"type":"boolean"},"message":{"type":"string"}}},"UserListStateForSpaceDto":{"type":"object","properties":{"operation":{"type":"string","enum":["CHANGE","INDEX","DONE"]},"totalUsers":{"type":"integer","format":"int32"},"progressedUsers":{"type":"integer","format":"int32"},"usersToProgress":{"type":"integer","format":"int32"}}},"ProgressDto":{"type":"object","properties":{"currentTotal":{"type":"integer","format":"int32"},"alreadyProcessed":{"type":"integer","format":"int32"},"done":{"type":"boolean"}}},"ExtranetSpaceStatisticsDto":{"type":"object","properties":{"extranet":{"$ref":"#/components/schemas/ExtranetDto"},"userCount":{"type":"integer","format":"int32"}}},"PageExtranetSpaceStatisticsDto":{"type":"object","properties":{"limit":{"type":"integer","format":"int32"},"offset":{"type":"integer","format":"int32"},"totalResults":{"type":"integer","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetSpaceStatisticsDto"}}}},"WelcomeMailDto":{"type":"object"},"PredefinedAdminsDto":{"type":"object","properties":{"extranetUserManagers":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetUserDto"}},"extranetSpaceManagers":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetUserDto"}},"extranetUserManagerGroups":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetGroupDto"}},"extranetSpaceManagerGroups":{"type":"array","items":{"$ref":"#/components/schemas/ExtranetGroupDto"}}}},"UserOrGroupDto":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"string"},"text":{"type":"string"},"imgSrc":{"type":"string"}}},"UserCreateDto":{"type":"object","properties":{"additionalGroupNames":{"type":"array","items":{"type":"string"}},"userCreateModeEnabled":{"type":"boolean"}}},"VisibilityConfigDto":{"type":"object","properties":{"internalGroupsMode":{"type":"string","enum":["ALL","RESTRICTED"]},"internalGroupsNames":{"type":"array","items":{"type":"string"}},"visibilityMode":{"type":"string","enum":["CONFLUENCE_STANDARD","RESTRICTED"]},"restrictExtranetUserManager":{"type":"boolean"}}}}}}




☁️ Looking for a Cloud-based Intranet?

Check out Mantra, your go-to alternative to Linchpin in the Atlassian Cloud!

Mantra is your a comprehensive solution for connecting teams, making collaboration a breeze, and keeping your company's internal communication strong and streamlined - all in the cloud.

Test the intranet for Confluence Cloud now for free: 


Discover Mantra



This page was last edited on 11/13/2024.