Concord Organization Groups API
Organization groups related API
Organization groups related API
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/concord-com:concord-com-organization-groups-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
x-logo:
url: https://www.concord.app/wp-content/uploads/2025/01/Logo-full-color-16px-padding.svg
title: Concord Organization Groups API
description: '## Overview
### Basics
Concord, https://www.concord.app/, is a cloud-based contract lifecycle management platform built for all types of businesses.
It provides unlimited e-signatures and unlimited contract storage for any number of users.
Concord saves time, money, and trees. It’s a smart way to get everyone to agree.
This Concord API gives you access to features you see in Concord and lets you extend them for use in your own application.
It strives to be RESTful and is organized around the main resources you’re familiar with from the Concord interface.
Before you do anything, you should get a Concord account on our sandbox environment that you can test the API against
and create an API Key so that you can make API calls.
### Format
Both request body data and response data are formatted as JSON.
### Upcoming changes
We are always maintaining, fixing, and enhancing our API. As such, you should expect new endpoints to show up, new fields to be added to responses and new error codes to appear.
We recommend that you build your code to gracefully ignore things that you aren’t expecting, and to handle errors in standard HTTP-centric ways.
### Getting help
To get in touch with our API experts directly, please send a message to support@concord.app.
## Environments
The API is accessible from:
+ https://uat.concordnow.com/api/rest/1/ - sandbox
+ https://api.concordnow.com/api/rest/1/ - production
## Authentication
To use this API, you need to be authenticated.
### With an API key
Users authenticate themselves through the HTTP Header **X-API-KEY**.
You can generate as many API Keys as needed from your Concord account.
If the HTTP Header is missing or if the API Key is invalid,
the HTTP Response will be 401 Unauthorized.
## Errors
The API communicates errors through standard HTTP status codes paired with error objects. Generally, the following pattern will apply:
+ 2xx - The request was successfully received, understood, and accepted.
+ 4xx - An error in the request. Usually a bad parameter.
+ 5xx - The request is fine, but something is wrong on Concord''s end.
### 4xx errors definition
The errors referenced here are valid for most (or even all) of our endpoints.
They are standard error messages for things like "Not authenticated, but you should" or "You can''t access this".
Depending on what you''re trying to access, you might get a bit more information in the response.
+ Response 400 (application/json)
{
"statusCode": 400,
"restCode": "badRequest"
}
+ Response 401 (application/json)
{
"statusCode": 401,
"restCode": "authFailed"
}
+ Response 403 (application/json)
{
"statusCode": 403,
"restCode": "accessDenied"
}
+ Response 404 (application/json)
{
"statusCode": 404,
"restCode": "notFound"
}
+ Response 409 (application/json)
{
"statusCode": 409,
"restCode": "conflict"
}
### HTTP status code
+ 200 success
+ 201 created
+ 202 accepted
+ 204 no_content
+ 400 bad_request
+ 401 unauthorized
+ 403 forbidden
+ 404 not_found
+ 405 method_not_allowed
+ 409 conflict
+ 415 unsupported_media_type
+ 500 internal_server_error
+ 502 bad_gateway
+ 503 unavailable
+ 504 gateway_timeout'
contact:
email: support@concord.app
name: Support Concord
url: https://help.concord.app/
license:
name: Terms of service
url: https://www.concord.app/terms-of-service
version: Concord API v1.0
servers:
- url: https://uat.concordnow.com/api/rest/1
variables: {}
security:
- ApiKeyAuthentication: []
tags:
- name: Organization Groups
description: Organization groups related API
paths:
/organizations/{organizationId}/groups:
parameters:
- in: path
name: organizationId
description: Organization ID
required: true
schema:
type: integer
format: int64
get:
tags:
- Organization Groups
summary: List user groups
description: Get all user groups for the specified organization
operationId: ListUserGroups
responses:
'200':
description: List of user groups retrieved successfully
content:
application/json:
schema:
required:
- groups
type: object
properties:
groups:
type: array
items:
$ref: '#/components/schemas/UserGroupDto'
description: List of user groups
post:
tags:
- Organization Groups
summary: Create user group
description: Create a new user group in the organization
operationId: CreateUserGroup
requestBody:
description: User group data
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupPostDto'
responses:
'201':
description: User group created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/LongIdDto'
patch:
tags:
- Organization Groups
summary: Bulk update user groups
description: Bulk update of user groups with users and invitations
operationId: BulkUpdateUserGroups
requestBody:
description: Bulk update data for user groups
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateUserGroupDto'
responses:
'204':
description: User groups updated successfully
components:
schemas:
UserPicturesDto:
title: UserPicturesDto
required:
- small
- normal
type: object
properties:
small:
type: string
example: /static/img/users/b0c8b9d2-2944-49d3-af3a-c216ddf089ca/small.jpg
normal:
type: string
example: /static/img/users/b0c8b9d2-2944-49d3-af3a-c216ddf089ca/normal.jpg
special:
type: string
example: /static/img/users/b0c8b9d2-2944-49d3-af3a-c216ddf089ca/special.jpg
InvitationDto:
title: InvitationDto
required:
- id
- email
type: object
properties:
id:
type: number
example: 69
email:
type: string
example: test@test.fr
createdAt:
type: number
description: epoch timestamp ms
example: 1535116733000
uuid:
$ref: '#/components/schemas/UuidWithoutHyphens'
UuidWithoutHyphens:
title: UuidWithoutHyphens
description: Universally Unique identifier without hyphens
type: string
example: e54b7e958d6148229f12373cf601b880
TeamDto:
type: object
description: Team selection DTO containing team ID and selection status
required:
- id
- selected
properties:
id:
type: integer
format: int64
description: The team ID
example: 123
selected:
type: boolean
description: Whether the team is selected
example: true
UserGroupDto:
title: UserGroupDto
required:
- id
- name
- invitations
- users
type: object
properties:
id:
type: number
example: 69
readOnly: true
name:
type: string
example: groupName
description:
type: string
example: desc
users:
type: array
items:
$ref: '#/components/schemas/UserDto'
description: UserDto
invitations:
type: array
items:
$ref: '#/components/schemas/InvitationDto'
description: InvitationDto
organization:
$ref: '#/components/schemas/PartialOrganizationDto'
PartialOrganizationDto:
title: PartialOrganizationDto
type: object
required:
- id
- newOrganizationId
- name
properties:
id:
type: number
example: 69
name:
type: string
description: Length 1-191
example: orgName
UserDto:
title: UserDto
required:
- id
- newUserId
- email
- name
type: object
properties:
id:
type: number
example: 14
name:
type: string
example: userName
email:
type: string
example: test@mail.fr
hasPicture:
type: boolean
example: true
pictures:
$ref: '#/components/schemas/UserPicturesDto'
hasMfa:
type: boolean
example: false
job:
type: string
example: R&D Manager
UserGroupPostDto:
type: object
properties:
name:
type: string
minLength: 3
maxLength: 120
example: Team 1
description:
type: string
maxLength: 120
example: The first team
LongIdDto:
type: object
description: DTO containing a Long ID value
required:
- id
properties:
id:
type: integer
format: int64
description: The ID value
example: 123
UpdateUserGroupDto:
type: object
description: DTO for bulk updating user groups with users, invitations, and team assignments
required:
- users
- invitations
- teams
properties:
users:
type: array
items:
$ref: '#/components/schemas/LongIdDto'
description: List of user IDs to be associated with the groups
example: []
invitations:
type: array
items:
$ref: '#/components/schemas/LongIdDto'
description: List of invitation IDs to be associated with the groups
example: []
teams:
type: array
items:
$ref: '#/components/schemas/TeamDto'
description: List of teams with selection status
minItems: 1
securitySchemes:
ApiKeyAuthentication:
type: apiKey
in: header
name: X-API-KEY
description: 'Users authenticate themselves through the HTTP Header X-API-KEY. You can generate as many API Keys as needed from your Concord account.
If the HTTP Header is missing or if the API Key is invalid, the HTTP Response will be 401 Unauthorized.'
x-provenance:
method: harvested
publisher: Concord
source: https://api.doc.concordnow.com/concord-openapi-bundled.yaml
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)