Gencove social API

The social API from Gencove — 3 operation(s) for social.

OpenAPI Specification

gencove-social-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Gencove Back array social API
  version: v2
  contact:
    email: support@gencove.com
  license:
    name: Proprietary
  description: API for Gencove REST service. Visit <a href='https://enterprise.gencove.com/'>enterprise.gencove.com</a> and <a href='https://docs.gencove.com/'>docs.gencove.com</a> for more information. <br><hr><p>To work with Insomnia, you can generate a Gencove API key by <a target='_blank' href='https://web.gencove.com/account?filter=api-keys'>clicking here</a>. Once you have the API key and have imported the project in Insomnia as a <i>Request Collection</i>, enter the key in Insomnia under <i>Manage Environment</i>.</p><a href='https://insomnia.rest/run/?label=back_api2&uri=https%3A%2F%2Fv2-api-files-prod.s3.amazonaws.com%2Fpublic%2Finsomnia%2Finsomnia_gencove_prod.json' target='_blank'>Run in Insomnia</a><hr>
servers:
- url: https://api.gencove.com
tags:
- name: social
paths:
  /api/v2/social-disconnect/:
    post:
      operationId: social_disconnect_create
      description: Disconnect given providers' social account from current user.
      tags:
      - social
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SocialDisconnect'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SocialDisconnect'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SocialDisconnect'
        required: true
      security:
      - JWT: []
      - API key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SocialDisconnect'
          description: ''
  /api/v2/social-providers/:
    get:
      operationId: social_providers_list
      description: 'Return all available social providers, their autorization urls and user

        connected accounts.'
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: name
        schema:
          type: string
        description: Filter social providers by name
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - social
      security:
      - JWT: []
      - API key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSocialProviderList'
          description: ''
  /api/v2/social-signup/:
    post:
      operationId: social_signup_create
      description: "Associate Social user with logged in Django user.\n\nIn social provider's config, `redirect_uri` or a similar setting should\nbe pointed to a url managed by the frontend app.\nFrontend app should pass on the info from social provider ie.\n```\n    {\n        \"provider\": \"basespace\",\n        \"code\": \"foobar\"\n    }\n```"
      tags:
      - social
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SocialSignUp'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SocialSignUp'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SocialSignUp'
        required: true
      security:
      - JWT: []
      - API key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SocialSignUp'
          description: ''
components:
  schemas:
    SocialAccountNested:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
        social_account_id:
          type: string
        auth_time:
          type: string
          format: date-time
          nullable: true
      required:
      - auth_time
      - id
      - social_account_id
    PaginatedSocialProviderList:
      type: object
      required:
      - results
      properties:
        meta:
          type: object
          properties:
            count:
              type: integer
            next:
              type: string
              format: uri
              nullable: true
            previous:
              type: string
              format: uri
              nullable: true
          required:
          - count
        results:
          type: array
          items:
            $ref: '#/components/schemas/SocialProvider'
    SocialDisconnect:
      type: object
      properties:
        provider:
          type: string
      required:
      - provider
    SocialSignUp:
      type: object
      properties:
        provider:
          type: string
        code:
          type: string
          description: Authorization code
      required:
      - code
      - provider
    SocialProvider:
      type: object
      properties:
        name:
          type: string
        authorization_uri:
          type: string
          format: uri
        accounts:
          type: array
          items:
            $ref: '#/components/schemas/SocialAccountNested'
          readOnly: true
          description: User connected social account
      required:
      - accounts
      - authorization_uri
      - name
  securitySchemes:
    API key:
      type: apiKey
      description: 'Authorization header content formated as: `Api-Key <API-key>`

        You can obtain new API key through Gencove''s web UI or `user-api-key` endpoint'
      in: header
      name: Authorization
    JWT:
      type: apiKey
      description: 'Authorization header content formated as: `Bearer <json-web-token>`

        You can obtain access token using `jwt-create` endpoint.'
      in: header
      name: Authorization