Skip to content

Full reference

Every endpoint in the public iBinder API, generated directly from the OpenAPI specification.

For curated, prose-led walkthroughs of the most common flows, see Documents and Binders instead.

Public API for the iBinder platform.

This is a curated subset of the iBinder API surface, covering the most
common document and binder operations. The full internal API is larger;
contact iBinder if your integration needs functionality not described here.

Contact

Servers

https://api.ibinder.com/apiProduction

Binders

List binders the tenant has access to, and inspect the metadata schema configured on each binder.


List binders

GET
/binders

List all binders the caller's tenant has access to.

Authorizations

IBinderOAuth2

OAuth 2.0 Client Credentials flow. Obtain a token from the iBinder Identity
Provider, then send it as Authorization: Bearer <token> on every request.

The token endpoint expects grant_type=client_credentials, your client_id,
your client_secret, and scope=ibinder_public.

clientCredentials Flow
Token URL"https://signin.ibinder.com/connect/token"
Scopes:
  • "ibinder_public"

Parameters

Header Parameters

x-ibinder-tenantid*
Type
string
Required

Responses

The request has succeeded.

application/json
JSON
[
  
{
  
  
"id": "string",
  
  
"name": "string",
  
  
"type": "string",
  
  
"createdAt": "string"
  
}
]

Playground

Authorization
Headers

Samples


Get metadata definitions for binder

GET
/binders/{id}/metadataelements

List the metadata element definitions configured on a binder. Use this to
discover which metadataElementId values can be used when filtering
documents in that binder, and what each one means.

Authorizations

IBinderOAuth2

OAuth 2.0 Client Credentials flow. Obtain a token from the iBinder Identity
Provider, then send it as Authorization: Bearer <token> on every request.

The token endpoint expects grant_type=client_credentials, your client_id,
your client_secret, and scope=ibinder_public.

clientCredentials Flow
Token URL"https://signin.ibinder.com/connect/token"
Scopes:
  • "ibinder_public"

Parameters

Header Parameters

x-ibinder-tenantid*
Type
string
Required

Path Parameters

id*

Binder identifier (9-character NanoId).

Type
string
Required

Responses

The request has succeeded.

application/json
JSON
[
  
{
  
  
"id": "string",
  
  
"label": "string",
  
  
"dataType": "string",
  
  
"allowedValues": [
  
  
  
{
  
  
  
  
"id": "string",
  
  
  
  
"label": "string"
  
  
  
}
  
  
],
  
  
"required": true
  
}
]

Playground

Authorization
Headers
Variables
Key
Value

Samples


Search/filter documents

POST
/documents

Search and filter documents across the tenant. Combines metadata filters,
sorting, and free-text search; supports server-side pagination via the
pageSize, pageNumber, and searchTerm query parameters.

Common patterns:

  • Filter to a binder: MetadataFilters[].metadataElementId = GLOBAL_BinderId with the binder id as valueId.
  • Filter to a tab/folder: GLOBAL_TabId with the tab id as valueId.
  • Sort by category: SortBy[].metadataElementId = GLOBAL_Category.

Authorizations

IBinderOAuth2

OAuth 2.0 Client Credentials flow. Obtain a token from the iBinder Identity
Provider, then send it as Authorization: Bearer <token> on every request.

The token endpoint expects grant_type=client_credentials, your client_id,
your client_secret, and scope=ibinder_public.

clientCredentials Flow
Token URL"https://signin.ibinder.com/connect/token"
Scopes:
  • "ibinder_public"

Parameters

Header Parameters

x-ibinder-tenantid*
Type
string
Required

Query Parameters

pageSize

Number of items per page. Defaults to a server-defined value.

Type
integer
Format
"int32"
pageNumber

1-based page number.

Type
integer
Format
"int32"
searchTerm

Free-text search term applied to document names.

Type
string

Request Body

application/json
JSON
{
  
"MetadataFilters": [
  
  
{
  
  
  
"metadataElementId": "string",
  
  
  
"valueId": "string"
  
  
}
  
],
  
"SortBy": [
  
  
{
  
  
  
"metadataElementId": "string",
  
  
  
"direction": "string"
  
  
}
  
]
}

Responses

The request has succeeded.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "string",
  
  
  
"fileName": "string",
  
  
  
"folderId": "string",
  
  
  
"binderId": "string",
  
  
  
"metadata": [
  
  
  
  
{
  
  
  
  
  
"metadataElementId": "string",
  
  
  
  
  
"valueId": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"latestVersionId": "string"
  
  
}
  
],
  
"totalCount": 0,
  
"pageNumber": 0,
  
"pageSize": 0
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


List folders in drive

GET
/documents/drives/{domain}/{id}

List the top-level folders/tabs of a drive. A drive is identified by a
domain (e.g. binders) and an id of an object in that domain
(typically a binder id, a 9-character NanoId).

Authorizations

IBinderOAuth2

OAuth 2.0 Client Credentials flow. Obtain a token from the iBinder Identity
Provider, then send it as Authorization: Bearer <token> on every request.

The token endpoint expects grant_type=client_credentials, your client_id,
your client_secret, and scope=ibinder_public.

clientCredentials Flow
Token URL"https://signin.ibinder.com/connect/token"
Scopes:
  • "ibinder_public"

Parameters

Header Parameters

x-ibinder-tenantid*
Type
string
Required

Path Parameters

domain*

Drive domain. Most commonly binders.

Type
string
Required
id*

Object identifier within the domain. For binders this is a 9-character NanoId.

Type
string
Required

Responses

The request has succeeded.

application/json
JSON
[
  
{
  
  
"id": "string",
  
  
"name": "string",
  
  
"type": "string",
  
  
"parentId": "string"
  
}
]

Playground

Authorization
Headers
Variables
Key
Value

Samples


List folders in folder

GET
/documents/drives/{domain}/{id}/{folderId}

List the sub-folders of a folder within a drive.

Authorizations

IBinderOAuth2

OAuth 2.0 Client Credentials flow. Obtain a token from the iBinder Identity
Provider, then send it as Authorization: Bearer <token> on every request.

The token endpoint expects grant_type=client_credentials, your client_id,
your client_secret, and scope=ibinder_public.

clientCredentials Flow
Token URL"https://signin.ibinder.com/connect/token"
Scopes:
  • "ibinder_public"

Parameters

Header Parameters

x-ibinder-tenantid*
Type
string
Required

Path Parameters

domain*
Type
string
Required
id*
Type
string
Required
folderId*

Identifier of the parent folder (typically a GUID).

Type
string
Required

Responses

The request has succeeded.

application/json
JSON
[
  
{
  
  
"id": "string",
  
  
"name": "string",
  
  
"type": "string",
  
  
"parentId": "string"
  
}
]

Playground

Authorization
Headers
Variables
Key
Value

Samples


List documents in folder

GET
/documents/drives/{domain}/{id}/{folderId}/documents

List documents in a folder. The folder is identified by a drive
(domain + id) and a folderId (typically a TabId GUID within a binder).

Authorizations

IBinderOAuth2

OAuth 2.0 Client Credentials flow. Obtain a token from the iBinder Identity
Provider, then send it as Authorization: Bearer <token> on every request.

The token endpoint expects grant_type=client_credentials, your client_id,
your client_secret, and scope=ibinder_public.

clientCredentials Flow
Token URL"https://signin.ibinder.com/connect/token"
Scopes:
  • "ibinder_public"

Parameters

Header Parameters

x-ibinder-tenantid*
Type
string
Required

Path Parameters

domain*
Type
string
Required
id*
Type
string
Required
folderId*
Type
string
Required

Responses

The request has succeeded.

application/json
JSON
[
  
{
  
  
"id": "string",
  
  
"fileName": "string",
  
  
"folderId": "string",
  
  
"binderId": "string",
  
  
"metadata": [
  
  
  
{
  
  
  
  
"metadataElementId": "string",
  
  
  
  
"valueId": "string"
  
  
  
}
  
  
],
  
  
"latestVersionId": "string"
  
}
]

Playground

Authorization
Headers
Variables
Key
Value

Samples


Commit uploaded file as document version

POST
/documents/drives/{domain}/{id}/{folderId}/upload

Step 3 of the three-step upload flow: after PUTting the file to the
presigned URL, commit the upload into a new document version in the target
folder. Metadata supplied here is attached to the resulting version.

Authorizations

IBinderOAuth2

OAuth 2.0 Client Credentials flow. Obtain a token from the iBinder Identity
Provider, then send it as Authorization: Bearer <token> on every request.

The token endpoint expects grant_type=client_credentials, your client_id,
your client_secret, and scope=ibinder_public.

clientCredentials Flow
Token URL"https://signin.ibinder.com/connect/token"
Scopes:
  • "ibinder_public"

Parameters

Header Parameters

x-ibinder-tenantid*
Type
string
Required

Path Parameters

domain*
Type
string
Required
id*
Type
string
Required
folderId*
Type
string
Required

Request Body

application/json
JSON
{
  
"fileName": "string",
  
"version": "string",
  
"uploadId": "string",
  
"additionalMetadata": [
  
  
{
  
  
  
"metadataElementId": "string",
  
  
  
"value": "string"
  
  
}
  
]
}

Responses

The request has succeeded.

application/json
JSON
{
  
"id": "string",
  
"documentId": "string",
  
"version": "string",
  
"status": "string",
  
"modifiedAt": "string",
  
"description": "string",
  
"metadata": [
  
  
{
  
  
  
"metadataElementId": "string",
  
  
  
"valueId": "string"
  
  
}
  
],
  
"downloadUrl": "string",
  
"thumbnailUrl": "string"
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Get new presigned URL for upload

GET
/documents/uploads/personalstorage/presignedupload

Step 1 of the three-step upload flow: request a one-shot presigned URL that
accepts a PUT of the file contents. The returned uploadId is then passed
to the commit endpoint after the PUT completes.

Authorizations

IBinderOAuth2

OAuth 2.0 Client Credentials flow. Obtain a token from the iBinder Identity
Provider, then send it as Authorization: Bearer <token> on every request.

The token endpoint expects grant_type=client_credentials, your client_id,
your client_secret, and scope=ibinder_public.

clientCredentials Flow
Token URL"https://signin.ibinder.com/connect/token"
Scopes:
  • "ibinder_public"

Responses

The request has succeeded.

application/json
JSON
{
  
"presignedUrl": "string",
  
"uploadId": "string"
}

Playground

Authorization

Samples


Get document

GET
/documents/{documentId}

Fetch a document by its identifier. The response describes the document's metadata and latest version pointer.

Authorizations

IBinderOAuth2

OAuth 2.0 Client Credentials flow. Obtain a token from the iBinder Identity
Provider, then send it as Authorization: Bearer <token> on every request.

The token endpoint expects grant_type=client_credentials, your client_id,
your client_secret, and scope=ibinder_public.

clientCredentials Flow
Token URL"https://signin.ibinder.com/connect/token"
Scopes:
  • "ibinder_public"

Parameters

Header Parameters

x-ibinder-tenantid*
Type
string
Required

Path Parameters

documentId*

Document identifier (GUID).

Type
string
Required

Responses

The request has succeeded.

application/json
JSON
{
  
"id": "string",
  
"fileName": "string",
  
"folderId": "string",
  
"binderId": "string",
  
"metadata": [
  
  
{
  
  
  
"metadataElementId": "string",
  
  
  
"valueId": "string"
  
  
}
  
],
  
"latestVersionId": "string"
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


List document versions

GET
/documents/{documentId}/versions

List all versions of a document, ordered by creation date.

Authorizations

IBinderOAuth2

OAuth 2.0 Client Credentials flow. Obtain a token from the iBinder Identity
Provider, then send it as Authorization: Bearer <token> on every request.

The token endpoint expects grant_type=client_credentials, your client_id,
your client_secret, and scope=ibinder_public.

clientCredentials Flow
Token URL"https://signin.ibinder.com/connect/token"
Scopes:
  • "ibinder_public"

Parameters

Header Parameters

x-ibinder-tenantid*
Type
string
Required

Path Parameters

documentId*
Type
string
Required

Responses

The request has succeeded.

application/json
JSON
[
  
{
  
  
"id": "string",
  
  
"documentId": "string",
  
  
"version": "string",
  
  
"status": "string",
  
  
"modifiedAt": "string",
  
  
"description": "string",
  
  
"metadata": [
  
  
  
{
  
  
  
  
"metadataElementId": "string",
  
  
  
  
"valueId": "string"
  
  
  
}
  
  
],
  
  
"downloadUrl": "string",
  
  
"thumbnailUrl": "string"
  
}
]

Playground

Authorization
Headers
Variables
Key
Value

Samples


Get document version

GET
/documents/{documentId}/versions/{versionId}

Fetch a specific document version.

Authorizations

IBinderOAuth2

OAuth 2.0 Client Credentials flow. Obtain a token from the iBinder Identity
Provider, then send it as Authorization: Bearer <token> on every request.

The token endpoint expects grant_type=client_credentials, your client_id,
your client_secret, and scope=ibinder_public.

clientCredentials Flow
Token URL"https://signin.ibinder.com/connect/token"
Scopes:
  • "ibinder_public"

Parameters

Header Parameters

x-ibinder-tenantid*
Type
string
Required

Path Parameters

documentId*
Type
string
Required
versionId*

Document version identifier (GUID).

Type
string
Required

Responses

The request has succeeded.

application/json
JSON
{
  
"id": "string",
  
"documentId": "string",
  
"version": "string",
  
"status": "string",
  
"modifiedAt": "string",
  
"description": "string",
  
"metadata": [
  
  
{
  
  
  
"metadataElementId": "string",
  
  
  
"valueId": "string"
  
  
}
  
],
  
"downloadUrl": "string",
  
"thumbnailUrl": "string"
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Get document version download link

GET
/documents/{documentId}/versions/{versionId}/raw

Get a short-lived presigned download URL for a document version's binary
content. The returned URL points directly at storage; clients should not
add the Authorization header when fetching it.

IBinderOAuth2

OAuth 2.0 Client Credentials flow. Obtain a token from the iBinder Identity
Provider, then send it as Authorization: Bearer <token> on every request.

The token endpoint expects grant_type=client_credentials, your client_id,
your client_secret, and scope=ibinder_public.

clientCredentials Flow
Token URL"https://signin.ibinder.com/connect/token"
Scopes:
  • "ibinder_public"

Header Parameters

x-ibinder-tenantid*
Type
string
Required

Path Parameters

documentId*
Type
string
Required
versionId*
Type
string
Required

The request has succeeded.

application/json
JSON
{
  
"url": "string",
  
"expiresAt": "string"
}
Authorization
Headers
Variables
Key
Value

Powered by VitePress OpenAPI

Released under the MIT License.