Cube Invitations API
The Invitations API from Cube — 3 operation(s) for invitations.
The Invitations API from Cube — 3 operation(s) for invitations.
openapi: 3.0.3
info:
title: Cube Agents Invitations API
version: 1.0.0 (1.0)
description: "#### General Description\nAn API to access underlying Cube functionality. These endpoints are the same endpoints\nthat support Cube's universal add-ons and a plethora of integrations meaning you'll be able to interact with your\nCube data in many powerful ways. Visit the API section of Cube's [Help Center](https://help.cubesoftware.com/hc/en-us/sections/18205290556180-Custom-Integrations)\nfor more usage guides on how you can use this API to integrate with Cube to accomplish various tasks!\n\n#### Versioning\nAll requests to the API require a version to be configured via an `Accept` Header. The value of this Header should look like this:\n```\nAccept: application/json; version=1.0\n```\nNote that the version number may differ depending on which version of the endpoint is needed.\n\n#### Response Structure\nThe general response structure of Cube's API endpoints will contain a `\"data\"` and `\"metadata\"` root level key:\n```json\n{\n \"data\": { ... object data or list of objects ... },\n \"metadata\": {\n \"status\": 200,\n \"message\": \"Potential message with additional context\",\n \"error\": false,\n \"code\": \"\"\n }\n}\n```\n\n#### Rate Limiting\nAll endpoints have a rate limit configured, most of them default to 5/s.\nWhen the rate limit is encountered, a 429 HTTP code will be returned.\n\n#### Error Handling\nIn the event an error occurs, the response will typically look like this:\n```json\n{\n \"data\": {},\n \"metadata\": {\n \"status\": 400,\n \"message\": \"Some error message\",\n \"error\": true,\n \"code\": \"SOME_ERROR_CODE\"\n }\n}\n```\n"
termsOfService: https://www.cubesoftware.com/terms-of-service
servers:
- url: https://api.cubesoftware.com
description: Production API URL
tags:
- name: Invitations
paths:
/company/invitations:
get:
operationId: company_invitations_list
description: Load all invitations for a company
summary: List invitations
parameters:
- in: header
name: X-Company-ID
schema:
type: string
description: Associates request with company
required: true
tags:
- Invitations
security:
- OAuth2: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UserInvitation'
description: ''
post:
operationId: company_invitations_create
description: Invite someone to the company
summary: Create a new invitation
parameters:
- in: header
name: X-Company-ID
schema:
type: string
description: Associates request with company
required: true
tags:
- Invitations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserInvitation'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserInvitation'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserInvitation'
required: true
security:
- OAuth2: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/UserInvitation'
description: ''
/company/invitations/{id}:
get:
operationId: company_invitations_retrieve
description: Retrieves an invitation
summary: Retrieve an invitation
parameters:
- in: header
name: X-Company-ID
schema:
type: string
description: Associates request with company
required: true
- in: path
name: id
schema:
type: string
required: true
tags:
- Invitations
security:
- OAuth2: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserInvitation'
description: ''
put:
operationId: company_invitations_update
description: Update an invitation by sending all editable field data.
summary: Update an invitation
parameters:
- in: header
name: X-Company-ID
schema:
type: string
description: Associates request with company
required: true
- in: path
name: id
schema:
type: string
required: true
tags:
- Invitations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserInvitationUpdateOpenApiDocAttributes_1'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserInvitationUpdateOpenApiDocAttributes_1'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserInvitationUpdateOpenApiDocAttributes_1'
required: true
security:
- OAuth2: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserInvitation'
description: ''
patch:
operationId: company_invitations_partial_update
description: Update one or more editable fields for an invitation.
summary: Partially update an invitation
parameters:
- in: header
name: X-Company-ID
schema:
type: string
description: Associates request with company
required: true
- in: path
name: id
schema:
type: string
required: true
tags:
- Invitations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUserInvitationUpdateOpenApiDocAttributes_1'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUserInvitationUpdateOpenApiDocAttributes_1'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUserInvitationUpdateOpenApiDocAttributes_1'
security:
- OAuth2: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserInvitation'
description: ''
delete:
operationId: company_invitations_destroy
description: Prevents a user from accepting the invitation.
summary: Deletes a invitation completely
parameters:
- in: header
name: X-Company-ID
schema:
type: string
description: Associates request with company
required: true
- in: path
name: id
schema:
type: string
required: true
tags:
- Invitations
security:
- OAuth2: []
responses:
'204':
description: No response body
/company/invitations/{id}/resend:
put:
operationId: company_invitations_resend_update
description: Resends the email to the user. If the invitation has expired this will re-generate the invitation to reset the expiration date.
summary: Resend an invitation
parameters:
- in: header
name: X-Company-ID
schema:
type: string
description: Associates request with company
required: true
- in: path
name: id
schema:
type: string
required: true
tags:
- Invitations
security:
- OAuth2: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserInvitation'
description: ''
components:
schemas:
PatchedUserInvitationUpdateOpenApiDocAttributes_1:
type: object
properties:
company_groups:
type: array
items:
type: integer
metadata: {}
permission_group:
type: integer
can_publish_data:
type: boolean
accepted_at:
type: string
format: date-time
nullable: true
UserInvitation:
type: object
description: 'This mixin is used to supplement the serializer with additional fields that are not provided in the request data
for use in updating either the model being worked with OR any through tables that are used to join the model with
a related model when the through table holds useful information.'
properties:
id:
type: string
format: uuid
readOnly: true
email:
type: string
format: email
maxLength: 254
company:
type: string
format: uuid
permission_group:
type: integer
can_publish_data:
type: boolean
accepted_at:
type: string
format: date-time
nullable: true
created_by:
type: integer
created_at:
type: string
format: date-time
readOnly: true
last_sent:
type: string
format: date-time
readOnly: true
company_groups:
type: array
items:
type: integer
metadata: {}
expired:
type: boolean
readOnly: true
required:
- company
- company_groups
- created_at
- created_by
- email
- expired
- id
- last_sent
- permission_group
UserInvitationUpdateOpenApiDocAttributes_1:
type: object
properties:
company_groups:
type: array
items:
type: integer
metadata: {}
permission_group:
type: integer
can_publish_data:
type: boolean
accepted_at:
type: string
format: date-time
nullable: true
required:
- company_groups
- permission_group
securitySchemes:
OAuth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://portal.cubesoftware.com/o/authorize/
tokenUrl: https://api.cubesoftware.com/o/token/
scopes: {}
description: Standard Cube OAuth 2.0 flow