Harmont docs

Organizations

Organizations are the top-level container in Harmont. Every pipeline, build, and job lives under exactly one organization, addressed by an immutable org_slug. The endpoints below cover the full hierarchy: org → pipeline → build → job.

URLs nest deeply on purpose.

Accept an invite

POST
/api/v0/invites/accept
AuthorizationBearer <token>

A Harmont session bearer token.

In: header

Request Body

application/json

Token

TypeScript Definitions

Use the request body type in TypeScript.

token*string

Response Body

application/json

application/json

curl -X POST "https://api.harmont.dev/api/v0/invites/accept" \  -H "Content-Type: application/json" \  -d '{    "token": "string"  }'
{
  "created_at": "2019-08-24T14:15:22Z",
  "name": "string",
  "slug": "string",
  "url": "string"
}
{
  "error": {
    "code": "string",
    "doc_url": "string",
    "message": "string",
    "request_id": "string",
    "type": "string"
  }
}

List the current user's organizations

GET
/api/v0/organizations
AuthorizationBearer <token>

A Harmont session bearer token.

In: header

Query Parameters

limit?integer

Page size (1–100, default 50).

cursor?string

Opaque cursor from a previous page's next_cursor.

Response Body

application/json

curl -X GET "https://api.harmont.dev/api/v0/organizations"
{
  "data": [
    {
      "created_at": "2019-08-24T14:15:22Z",
      "name": "string",
      "slug": "string",
      "url": "string"
    }
  ],
  "next_cursor": "string"
}

Create an organization

POST
/api/v0/organizations
AuthorizationBearer <token>

A Harmont session bearer token.

In: header

Request Body

application/json

Organization to create

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://api.harmont.dev/api/v0/organizations" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{
  "created_at": "2019-08-24T14:15:22Z",
  "name": "string",
  "slug": "string",
  "url": "string"
}
{
  "error": {
    "code": "string",
    "doc_url": "string",
    "message": "string",
    "request_id": "string",
    "type": "string"
  }
}

List pending invites

GET
/api/v0/organizations/{org}/invites
AuthorizationBearer <token>

A Harmont session bearer token.

In: header

Path Parameters

org*string

Response Body

application/json

curl -X GET "https://api.harmont.dev/api/v0/organizations/string/invites"
{
  "data": [
    {
      "email": "string",
      "expires_at": "2019-08-24T14:15:22Z",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "role": "admin",
      "token": "string"
    }
  ]
}

Invite an email to the organization

POST
/api/v0/organizations/{org}/invites
AuthorizationBearer <token>

A Harmont session bearer token.

In: header

Path Parameters

org*string

Request Body

application/json

Invite

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://api.harmont.dev/api/v0/organizations/string/invites" \  -H "Content-Type: application/json" \  -d '{    "email": "string",    "role": "admin"  }'
{
  "email": "string",
  "expires_at": "2019-08-24T14:15:22Z",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "role": "admin",
  "token": "string"
}
{
  "error": {
    "code": "string",
    "doc_url": "string",
    "message": "string",
    "request_id": "string",
    "type": "string"
  }
}
{
  "error": {
    "code": "string",
    "doc_url": "string",
    "message": "string",
    "request_id": "string",
    "type": "string"
  }
}

Revoke a pending invite

DELETE
/api/v0/organizations/{org}/invites/{id}
AuthorizationBearer <token>

A Harmont session bearer token.

In: header

Path Parameters

org*string
id*string

Response Body

curl -X DELETE "https://api.harmont.dev/api/v0/organizations/string/invites/string"
Empty

List organization members

GET
/api/v0/organizations/{org}/members
AuthorizationBearer <token>

A Harmont session bearer token.

In: header

Path Parameters

org*string

Response Body

application/json

application/json

curl -X GET "https://api.harmont.dev/api/v0/organizations/string/members"
{
  "data": [
    {
      "email": "string",
      "name": "string",
      "role": "owner",
      "user_uuid": "7c4d2d7d-8620-4fb3-967a-4a621082cf1f"
    }
  ]
}
{
  "error": {
    "code": "string",
    "doc_url": "string",
    "message": "string",
    "request_id": "string",
    "type": "string"
  }
}

Change a member's role

PATCH
/api/v0/organizations/{org}/members/{user_id}
AuthorizationBearer <token>

A Harmont session bearer token.

In: header

Path Parameters

org*string
user_id*string

Request Body

application/json

New role

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://api.harmont.dev/api/v0/organizations/string/members/string" \  -H "Content-Type: application/json" \  -d '{    "role": "owner"  }'
{
  "email": "string",
  "name": "string",
  "role": "owner",
  "user_uuid": "7c4d2d7d-8620-4fb3-967a-4a621082cf1f"
}
{
  "error": {
    "code": "string",
    "doc_url": "string",
    "message": "string",
    "request_id": "string",
    "type": "string"
  }
}
{
  "error": {
    "code": "string",
    "doc_url": "string",
    "message": "string",
    "request_id": "string",
    "type": "string"
  }
}
{
  "error": {
    "code": "string",
    "doc_url": "string",
    "message": "string",
    "request_id": "string",
    "type": "string"
  }
}
{
  "error": {
    "code": "string",
    "doc_url": "string",
    "message": "string",
    "request_id": "string",
    "type": "string"
  }
}

Remove a member

DELETE
/api/v0/organizations/{org}/members/{user_id}
AuthorizationBearer <token>

A Harmont session bearer token.

In: header

Path Parameters

org*string
user_id*string

Response Body

application/json

application/json

application/json

curl -X DELETE "https://api.harmont.dev/api/v0/organizations/string/members/string"
Empty
{
  "error": {
    "code": "string",
    "doc_url": "string",
    "message": "string",
    "request_id": "string",
    "type": "string"
  }
}
{
  "error": {
    "code": "string",
    "doc_url": "string",
    "message": "string",
    "request_id": "string",
    "type": "string"
  }
}
{
  "error": {
    "code": "string",
    "doc_url": "string",
    "message": "string",
    "request_id": "string",
    "type": "string"
  }
}