openapi: 3.2.0 info: title: Fusio Identity API version: '1' description: 'Operations tagged identity across 2 of this provider''s published API definitions: fusio-backend.json, fusio-consumer.json. Each path carries the servers of the definition it was published in.' servers: - url: https://demo.fusio-project.org tags: - name: Identity paths: /backend/identity: get: tags: - Identity description: Returns a paginated list of identities operationId: backend.identity.getAll parameters: - name: startIndex in: query required: false schema: type: integer - name: count in: query required: false schema: type: integer - name: search in: query required: false schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Backend_IdentityCollection' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' security: - app: - backend.identity summary: Backend identity get all x-summary-source: derived post: tags: - Identity description: Creates a new identity operationId: backend.identity.create requestBody: content: application/json: schema: $ref: '#/components/schemas/Backend_IdentityCreate' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' security: - app: - backend.identity summary: Backend identity create x-summary-source: derived servers: - url: https://demo.fusio-project.org /backend/identity/{identity_id}: parameters: - name: identity_id in: path required: true schema: type: string get: tags: - Identity description: Returns a specific identity operationId: backend.identity.get responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Backend_Identity' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' security: - app: - backend.identity summary: Backend identity get x-summary-source: derived put: tags: - Identity description: Updates an existing identity operationId: backend.identity.update requestBody: content: application/json: schema: $ref: '#/components/schemas/Backend_IdentityUpdate' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' security: - app: - backend.identity summary: Backend identity update x-summary-source: derived delete: tags: - Identity description: Deletes an existing identity operationId: backend.identity.delete responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' security: - app: - backend.identity summary: Backend identity delete x-summary-source: derived servers: - url: https://demo.fusio-project.org /backend/identity/list: get: tags: - Identity description: Returns all available identity classes operationId: backend.identity.getClasses responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Backend_IdentityIndex' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' security: - app: - backend.identity summary: Backend identity get classes x-summary-source: derived servers: - url: https://demo.fusio-project.org /backend/identity/form: get: tags: - Identity description: Returns the identity config form operationId: backend.identity.getForm parameters: - name: class in: query required: false schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Common_FormContainer' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' security: - app: - backend.identity summary: Backend identity get form x-summary-source: derived servers: - url: https://demo.fusio-project.org /consumer/identity/{identity}/exchange: parameters: - name: identity in: path required: true schema: type: string get: tags: - Identity description: Identity callback endpoint to exchange an access token operationId: consumer.identity.exchange responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Passthru' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' summary: Consumer identity exchange x-summary-source: derived servers: - url: https://demo.fusio-project.org /consumer/identity: get: tags: - Identity description: Returns a paginated list of identities which are relevant to the authenticated user operationId: consumer.identity.getAll parameters: - name: appId in: query required: false schema: deprecated: true type: integer - name: appKey in: query required: false schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Consumer_IdentityCollection' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' summary: Consumer identity get all x-summary-source: derived servers: - url: https://demo.fusio-project.org /consumer/identity/{identity}/redirect: parameters: - name: identity in: path required: true schema: type: string get: tags: - Identity description: Redirect the user to the configured identity provider operationId: consumer.identity.redirect responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Passthru' 4XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' 5XX: description: '' content: application/json: schema: $ref: '#/components/schemas/Common_Message' summary: Consumer identity redirect x-summary-source: derived servers: - url: https://demo.fusio-project.org components: schemas: Backend_IdentityCreate: $ref: '#/components/schemas/Backend_Identity' Backend_IdentityCollection: description: Base collection type: object properties: totalResults: type: integer startIndex: type: integer itemsPerPage: type: integer entry: type: array items: $ref: '#/components/schemas/Backend_Identity' Common_FormElementCollection: allOf: - $ref: '#/components/schemas/Common_FormElement' - description: Form element which represents a collection element type: object properties: type: description: The input type i.e. text or password, all HTML input types are allowed type: string Common_FormElementMap: allOf: - $ref: '#/components/schemas/Common_FormElement' - description: Form element which represents a map element type: object properties: type: description: The input type i.e. text or password, all HTML input types are allowed type: string Common_FormElement: oneOf: - $ref: '#/components/schemas/Common_FormElementCheckbox' - $ref: '#/components/schemas/Common_FormElementCollection' - $ref: '#/components/schemas/Common_FormElementInput' - $ref: '#/components/schemas/Common_FormElementMap' - $ref: '#/components/schemas/Common_FormElementSelect' - $ref: '#/components/schemas/Common_FormElementTextArea' - $ref: '#/components/schemas/Common_FormElementTypeAPI' - $ref: '#/components/schemas/Common_FormElementTypeSchema' discriminator: type mapping: checkbox: '#/components/schemas/Common_FormElementCheckbox' collection: '#/components/schemas/Common_FormElementCollection' input: '#/components/schemas/Common_FormElementInput' map: '#/components/schemas/Common_FormElementMap' select: '#/components/schemas/Common_FormElementSelect' textarea: '#/components/schemas/Common_FormElementTextArea' typeapi: '#/components/schemas/Common_FormElementTypeAPI' typeschema: '#/components/schemas/Common_FormElementTypeSchema' Common_FormElementCheckbox: $ref: '#/components/schemas/Common_FormElement' Common_FormElementSelect: allOf: - $ref: '#/components/schemas/Common_FormElement' - description: Form element which represents a select element type: object properties: options: description: Available options for the select element type: array items: $ref: '#/components/schemas/Common_FormElementSelectOption' Common_FormElementTypeSchema: $ref: '#/components/schemas/Common_FormElement' Common_FormElementSelectOption: description: Represents a concrete option entry type: object properties: key: type: string value: type: string Backend_IdentityConfig: type: object additionalProperties: {} Common_FormElementTypeAPI: $ref: '#/components/schemas/Common_FormElement' Backend_IdentityIndexEntry: description: Represents a concrete identity class type: object properties: name: description: Human-readable name of the identity class type: string class: description: Technical identifier of the identity class type: string Backend_IdentityUpdate: $ref: '#/components/schemas/Backend_Identity' Backend_IdentityIndex: description: Contains all possible classes which can be used at an identity as class type: object properties: providers: type: array items: $ref: '#/components/schemas/Backend_IdentityIndexEntry' Common_Message: description: Common error message type: object properties: success: type: boolean message: type: string id: type: string Backend_Identity: description: This object represents an identity which allows to authenticate with a remote identity provider type: object properties: id: description: Unique identifier for the object type: integer appId: description: The target app for this identity type: integer roleId: description: Role which is assigned to new users type: integer name: description: Unique name of the object type: string icon: description: An icon for this identity provider type: string class: description: Underlying class of this identity provider type: string config: $ref: '#/components/schemas/Backend_IdentityConfig' allowCreate: type: boolean Common_FormContainer: description: Represents a config form with a list of elements type: object properties: element: type: array items: $ref: '#/components/schemas/Common_FormElement' Common_FormElementInput: allOf: - $ref: '#/components/schemas/Common_FormElement' - description: Form element which represents an input element type: object properties: type: description: The input type i.e. text or password, all HTML input types are allowed type: string Common_FormElementTextArea: allOf: - $ref: '#/components/schemas/Common_FormElement' - description: Form element which represents a textarea type: object properties: mode: description: Describes which data is provided at the textarea, this can be i.e. a programming language like php, java or python or also a data format like json type: string Passthru: description: No schema information available type: object additionalProperties: {} Consumer_Identity: type: object properties: id: type: integer name: type: string icon: type: string redirect: type: string Consumer_IdentityCollection: description: Base collection type: object properties: totalResults: type: integer startIndex: type: integer itemsPerPage: type: integer entry: type: array items: $ref: '#/components/schemas/Consumer_Identity' securitySchemes: app: type: oauth2 flows: clientCredentials: tokenUrl: https://demo.fusio-project.org/authorization/token refreshUrl: https://demo.fusio-project.org/authorization/token scopes: backend: '' backend.account: '' backend.action: '' backend.agent: '' backend.app: '' backend.audit: '' backend.backup: '' backend.bundle: '' backend.category: '' backend.config: '' backend.connection: '' backend.cronjob: '' backend.dashboard: '' backend.event: '' backend.firewall: '' backend.form: '' backend.generator: '' backend.identity: '' backend.log: '' backend.marketplace: '' backend.operation: '' backend.page: '' backend.plan: '' backend.rate: '' backend.role: '' backend.schema: '' backend.scope: '' backend.sdk: '' backend.specification: '' backend.statistic: '' backend.taxonomy: '' backend.tenant: '' backend.test: '' backend.token: '' backend.transaction: '' backend.trash: '' backend.trigger: '' backend.user: '' backend.webhook: '' authorizationCode: authorizationUrl: https://demo.fusio-project.org/authorization/authorize tokenUrl: https://demo.fusio-project.org/authorization/token refreshUrl: https://demo.fusio-project.org/authorization/token scopes: backend: '' backend.account: '' backend.action: '' backend.agent: '' backend.app: '' backend.audit: '' backend.backup: '' backend.bundle: '' backend.category: '' backend.config: '' backend.connection: '' backend.cronjob: '' backend.dashboard: '' backend.event: '' backend.firewall: '' backend.form: '' backend.generator: '' backend.identity: '' backend.log: '' backend.marketplace: '' backend.operation: '' backend.page: '' backend.plan: '' backend.rate: '' backend.role: '' backend.schema: '' backend.scope: '' backend.sdk: '' backend.specification: '' backend.statistic: '' backend.taxonomy: '' backend.tenant: '' backend.test: '' backend.token: '' backend.transaction: '' backend.trash: '' backend.trigger: '' backend.user: '' backend.webhook: '' x-refined-from: - fusio-backend.json - fusio-consumer.json