oCoreoCore Docs
API Reference

Projects

Trigger repository sync

Manually triggers a repository metadata sync (checks for renames, transfers, deletions).

POST
/orgs/{orgId}/projects/{id}/repository/sync

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project ID

curl -X POST "//api.ocore.dev/api/orgs/{orgId}/projects/<string>/repository/sync" \
  -H "Authorization: <token>"

OK

{}

Get repository sync status

Returns the current sync status including last synced timestamp and errors.

GET
/orgs/{orgId}/projects/{id}/repository/sync/status

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project ID

curl -X GET "//api.ocore.dev/api/orgs/{orgId}/projects/<string>/repository/sync/status" \
  -H "Authorization: <token>"

OK

{}

Validate repository access

Validates access to a repository without making changes (used by reconnect dialog).

POST
/orgs/{orgId}/projects/{id}/repository/validate

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project ID

curl -X POST "//api.ocore.dev/api/orgs/{orgId}/projects/<string>/repository/validate" \
  -H "Authorization: <token>"

OK

{}

List organization projects

Returns all projects for the organization. Archived projects are excluded by default.

GET
/projects

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Query Parameters

include_archivedboolean

Include archived projects

curl -X GET "//api.ocore.dev/api/projects?include_archived=true" \
  -H "Authorization: <token>"

OK

{
  "projects": [
    {
      "branchMappings": [
        {
          "branchPattern": "string",
          "createdAt": "string",
          "id": "string",
          "instanceId": "string",
          "priority": 0
        }
      ],
      "createdAt": "string",
      "description": "string",
      "gitRepository": {
        "authType": "string",
        "createdAt": "string",
        "defaultBranch": "string",
        "githubRepoId": 0,
        "hasAccessToken": true,
        "hasDeployKey": true,
        "hasWebhook": true,
        "id": "string",
        "lastPolledAt": "string",
        "lastSyncedAt": "string",
        "pollingEnabled": true,
        "provider": "string",
        "providerCapabilities": {
          "property1": true,
          "property2": true
        },
        "providerRepoId": "string",
        "repoName": "string",
        "repoOwner": "string",
        "repoUrl": "string",
        "syncError": "string",
        "syncStatus": "string",
        "syncStatusChangedAt": "string",
        "updatedAt": "string"
      },
      "id": "string",
      "instanceCount": 0,
      "isArchived": true,
      "linkedInstances": [
        {
          "id": "string",
          "name": "string",
          "slug": "string"
        }
      ],
      "name": "string",
      "slug": "string",
      "testGateProduction": "string",
      "testGateStaging": "string",
      "testSuiteEnabled": true,
      "updatedAt": "string"
    }
  ],
  "total": 0
}

Create a new project

Creates a new project within the organization. Auto-generates a slug from the name if not provided.

POST
/projects

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Project details

descriptionstring
namestring
slugstring
curl -X POST "//api.ocore.dev/api/projects" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "string",
    "name": "string",
    "slug": "string"
  }'

Created

{
  "branchMappings": [
    {
      "branchPattern": "string",
      "createdAt": "string",
      "id": "string",
      "instanceId": "string",
      "priority": 0
    }
  ],
  "createdAt": "string",
  "description": "string",
  "gitRepository": {
    "authType": "string",
    "createdAt": "string",
    "defaultBranch": "string",
    "githubRepoId": 0,
    "hasAccessToken": true,
    "hasDeployKey": true,
    "hasWebhook": true,
    "id": "string",
    "lastPolledAt": "string",
    "lastSyncedAt": "string",
    "pollingEnabled": true,
    "provider": "string",
    "providerCapabilities": {
      "property1": true,
      "property2": true
    },
    "providerRepoId": "string",
    "repoName": "string",
    "repoOwner": "string",
    "repoUrl": "string",
    "syncError": "string",
    "syncStatus": "string",
    "syncStatusChangedAt": "string",
    "updatedAt": "string"
  },
  "id": "string",
  "instanceCount": 0,
  "isArchived": true,
  "linkedInstances": [
    {
      "id": "string",
      "name": "string",
      "slug": "string"
    }
  ],
  "name": "string",
  "slug": "string",
  "testGateProduction": "string",
  "testGateStaging": "string",
  "testSuiteEnabled": true,
  "updatedAt": "string"
}

Get project details

Returns a project's details including connected repository and linked instances.

GET
/projects/{id}

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project UUID

curl -X GET "//api.ocore.dev/api/projects/<string>" \
  -H "Authorization: <token>"

OK

{
  "branchMappings": [
    {
      "branchPattern": "string",
      "createdAt": "string",
      "id": "string",
      "instanceId": "string",
      "priority": 0
    }
  ],
  "createdAt": "string",
  "description": "string",
  "gitRepository": {
    "authType": "string",
    "createdAt": "string",
    "defaultBranch": "string",
    "githubRepoId": 0,
    "hasAccessToken": true,
    "hasDeployKey": true,
    "hasWebhook": true,
    "id": "string",
    "lastPolledAt": "string",
    "lastSyncedAt": "string",
    "pollingEnabled": true,
    "provider": "string",
    "providerCapabilities": {
      "property1": true,
      "property2": true
    },
    "providerRepoId": "string",
    "repoName": "string",
    "repoOwner": "string",
    "repoUrl": "string",
    "syncError": "string",
    "syncStatus": "string",
    "syncStatusChangedAt": "string",
    "updatedAt": "string"
  },
  "id": "string",
  "instanceCount": 0,
  "isArchived": true,
  "linkedInstances": [
    {
      "id": "string",
      "name": "string",
      "slug": "string"
    }
  ],
  "name": "string",
  "slug": "string",
  "testGateProduction": "string",
  "testGateStaging": "string",
  "testSuiteEnabled": true,
  "updatedAt": "string"
}

Delete a project

Deletes a project. Automatically disconnects the git repository if one is connected.

DELETE
/projects/{id}

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project UUID

curl -X DELETE "//api.ocore.dev/api/projects/<string>" \
  -H "Authorization: <token>"

No Content

Update a project

Updates a project's name, description, and test suite settings.

PUT
/projects/{id}

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Updated project fields

descriptionstring
namestring
testSuiteEnabledboolean

Path Parameters

idRequiredstring

Project UUID

curl -X PUT "//api.ocore.dev/api/projects/<string>" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "string",
    "name": "string",
    "testSuiteEnabled": true
  }'

OK

{
  "branchMappings": [
    {
      "branchPattern": "string",
      "createdAt": "string",
      "id": "string",
      "instanceId": "string",
      "priority": 0
    }
  ],
  "createdAt": "string",
  "description": "string",
  "gitRepository": {
    "authType": "string",
    "createdAt": "string",
    "defaultBranch": "string",
    "githubRepoId": 0,
    "hasAccessToken": true,
    "hasDeployKey": true,
    "hasWebhook": true,
    "id": "string",
    "lastPolledAt": "string",
    "lastSyncedAt": "string",
    "pollingEnabled": true,
    "provider": "string",
    "providerCapabilities": {
      "property1": true,
      "property2": true
    },
    "providerRepoId": "string",
    "repoName": "string",
    "repoOwner": "string",
    "repoUrl": "string",
    "syncError": "string",
    "syncStatus": "string",
    "syncStatusChangedAt": "string",
    "updatedAt": "string"
  },
  "id": "string",
  "instanceCount": 0,
  "isArchived": true,
  "linkedInstances": [
    {
      "id": "string",
      "name": "string",
      "slug": "string"
    }
  ],
  "name": "string",
  "slug": "string",
  "testGateProduction": "string",
  "testGateStaging": "string",
  "testSuiteEnabled": true,
  "updatedAt": "string"
}

Archive a project

Archives a project, hiding it from default project listings.

PUT
/projects/{id}/archive

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project UUID

curl -X PUT "//api.ocore.dev/api/projects/<string>/archive" \
  -H "Authorization: <token>"

OK

{
  "message": "string"
}

List branch mappings

Returns all branch-to-instance mappings for the project.

GET
/projects/{id}/branch-mappings

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project UUID

curl -X GET "//api.ocore.dev/api/projects/<string>/branch-mappings" \
  -H "Authorization: <token>"

OK

[
  {
    "branchPattern": "string",
    "createdAt": "string",
    "id": "string",
    "instanceId": "string",
    "priority": 0
  }
]

Set branch mappings

Replaces all branch-to-instance mappings for a project. Used for automatic deployment routing.

PUT
/projects/{id}/branch-mappings

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Branch mapping definitions

mappingsarray<object>

Path Parameters

idRequiredstring

Project UUID

curl -X PUT "//api.ocore.dev/api/projects/<string>/branch-mappings" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "mappings": [
      {
        "branchPattern": "string",
        "instanceId": "string",
        "priority": 0
      }
    ]
  }'

OK

[
  {
    "branchPattern": "string",
    "createdAt": "string",
    "id": "string",
    "instanceId": "string",
    "priority": 0
  }
]

List repository branches

Lists all branches from the connected Git repository via the provider API.

GET
/projects/{id}/branches

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project UUID

curl -X GET "//api.ocore.dev/api/projects/<string>/branches" \
  -H "Authorization: <token>"

OK

[
  {}
]

Clone a project

Creates a duplicate of an existing project with a new name and slug.

POST
/projects/{id}/clone

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project UUID

curl -X POST "//api.ocore.dev/api/projects/<string>/clone" \
  -H "Authorization: <token>"

Created

{
  "branchMappings": [
    {
      "branchPattern": "string",
      "createdAt": "string",
      "id": "string",
      "instanceId": "string",
      "priority": 0
    }
  ],
  "createdAt": "string",
  "description": "string",
  "gitRepository": {
    "authType": "string",
    "createdAt": "string",
    "defaultBranch": "string",
    "githubRepoId": 0,
    "hasAccessToken": true,
    "hasDeployKey": true,
    "hasWebhook": true,
    "id": "string",
    "lastPolledAt": "string",
    "lastSyncedAt": "string",
    "pollingEnabled": true,
    "provider": "string",
    "providerCapabilities": {
      "property1": true,
      "property2": true
    },
    "providerRepoId": "string",
    "repoName": "string",
    "repoOwner": "string",
    "repoUrl": "string",
    "syncError": "string",
    "syncStatus": "string",
    "syncStatusChangedAt": "string",
    "updatedAt": "string"
  },
  "id": "string",
  "instanceCount": 0,
  "isArchived": true,
  "linkedInstances": [
    {
      "id": "string",
      "name": "string",
      "slug": "string"
    }
  ],
  "name": "string",
  "slug": "string",
  "testGateProduction": "string",
  "testGateStaging": "string",
  "testSuiteEnabled": true,
  "updatedAt": "string"
}

Associates an Odoo instance with a project for deployment targeting.

POST
/projects/{id}/instances

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Instance to link

instanceIdstring

Path Parameters

idRequiredstring

Project UUID

curl -X POST "//api.ocore.dev/api/projects/<string>/instances" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "instanceId": "string"
  }'

OK

{
  "message": "string"
}

Removes the association between an instance and a project.

DELETE
/projects/{id}/instances/{instanceId}

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project UUID

instanceIdRequiredstring

Instance UUID

curl -X DELETE "//api.ocore.dev/api/projects/<string>/instances/<string>" \
  -H "Authorization: <token>"

OK

{
  "message": "string"
}

Connect a Git repository

Connects a Git repository (GitHub, GitLab, or Bitbucket) to a project for CI/CD deployments.

POST
/projects/{id}/repository

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Repository connection details

accessTokenstring
authTypestring
providerstring
repoNamestring
repoOwnerstring
repoUrlstring

Path Parameters

idRequiredstring

Project UUID

curl -X POST "//api.ocore.dev/api/projects/<string>/repository" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "accessToken": "string",
    "authType": "string",
    "provider": "string",
    "repoName": "string",
    "repoOwner": "string",
    "repoUrl": "string"
  }'

Created

{
  "authType": "string",
  "createdAt": "string",
  "defaultBranch": "string",
  "githubRepoId": 0,
  "hasAccessToken": true,
  "hasDeployKey": true,
  "hasWebhook": true,
  "id": "string",
  "lastPolledAt": "string",
  "lastSyncedAt": "string",
  "pollingEnabled": true,
  "provider": "string",
  "providerCapabilities": {
    "property1": true,
    "property2": true
  },
  "providerRepoId": "string",
  "repoName": "string",
  "repoOwner": "string",
  "repoUrl": "string",
  "syncError": "string",
  "syncStatus": "string",
  "syncStatusChangedAt": "string",
  "updatedAt": "string"
}

Disconnect Git repository

Removes the Git repository connection from the project, cleaning up remote webhooks and deploy keys.

DELETE
/projects/{id}/repository

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project UUID

curl -X DELETE "//api.ocore.dev/api/projects/<string>/repository" \
  -H "Authorization: <token>"

No Content

Update Git repository settings

Updates the connected Git repository's URL, default branch, polling, and webhook secret.

PUT
/projects/{id}/repository

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Repository fields to update

defaultBranchstring
pollingEnabledboolean
repoUrlstring
webhookSecretstring

Path Parameters

idRequiredstring

Project UUID

curl -X PUT "//api.ocore.dev/api/projects/<string>/repository" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "defaultBranch": "string",
    "pollingEnabled": true,
    "repoUrl": "string",
    "webhookSecret": "string"
  }'

OK

{
  "authType": "string",
  "createdAt": "string",
  "defaultBranch": "string",
  "githubRepoId": 0,
  "hasAccessToken": true,
  "hasDeployKey": true,
  "hasWebhook": true,
  "id": "string",
  "lastPolledAt": "string",
  "lastSyncedAt": "string",
  "pollingEnabled": true,
  "provider": "string",
  "providerCapabilities": {
    "property1": true,
    "property2": true
  },
  "providerRepoId": "string",
  "repoName": "string",
  "repoOwner": "string",
  "repoUrl": "string",
  "syncError": "string",
  "syncStatus": "string",
  "syncStatusChangedAt": "string",
  "updatedAt": "string"
}

Reconfigure repository webhook

Deletes the old webhook on the Git provider and creates a new one with the current callback URL.

POST
/projects/{id}/repository/reconfigure-webhook

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project UUID

curl -X POST "//api.ocore.dev/api/projects/<string>/repository/reconfigure-webhook" \
  -H "Authorization: <token>"

OK

{
  "authType": "string",
  "createdAt": "string",
  "defaultBranch": "string",
  "githubRepoId": 0,
  "hasAccessToken": true,
  "hasDeployKey": true,
  "hasWebhook": true,
  "id": "string",
  "lastPolledAt": "string",
  "lastSyncedAt": "string",
  "pollingEnabled": true,
  "provider": "string",
  "providerCapabilities": {
    "property1": true,
    "property2": true
  },
  "providerRepoId": "string",
  "repoName": "string",
  "repoOwner": "string",
  "repoUrl": "string",
  "syncError": "string",
  "syncStatus": "string",
  "syncStatusChangedAt": "string",
  "updatedAt": "string"
}

Regenerate deploy key

Regenerates the SSH deploy key for the connected Git repository.

POST
/projects/{id}/repository/regenerate-key

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project UUID

curl -X POST "//api.ocore.dev/api/projects/<string>/repository/regenerate-key" \
  -H "Authorization: <token>"

OK

{
  "authType": "string",
  "createdAt": "string",
  "defaultBranch": "string",
  "githubRepoId": 0,
  "hasAccessToken": true,
  "hasDeployKey": true,
  "hasWebhook": true,
  "id": "string",
  "lastPolledAt": "string",
  "lastSyncedAt": "string",
  "pollingEnabled": true,
  "provider": "string",
  "providerCapabilities": {
    "property1": true,
    "property2": true
  },
  "providerRepoId": "string",
  "repoName": "string",
  "repoOwner": "string",
  "repoUrl": "string",
  "syncError": "string",
  "syncStatus": "string",
  "syncStatusChangedAt": "string",
  "updatedAt": "string"
}

List repository tags

Lists all tags from the connected Git repository via the provider API.

GET
/projects/{id}/tags

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project UUID

curl -X GET "//api.ocore.dev/api/projects/<string>/tags" \
  -H "Authorization: <token>"

OK

[
  {}
]

Unarchive a project

Restores an archived project to active status.

PUT
/projects/{id}/unarchive

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Project UUID

curl -X PUT "//api.ocore.dev/api/projects/<string>/unarchive" \
  -H "Authorization: <token>"

OK

{
  "message": "string"
}

Was this page helpful?