Skip to content

Administration API — HTTP reference

Generated from FastAPI OpenAPI and versioned with the source code. Edit routes, Pydantic schemas and their examples, then run python -m scripts.update_http_reference to update this page.

Paths below include the application mount. Add your deployment prefix when calling them. Live Swagger/ReDoc includes deployment-specific defaults; this static snapshot uses source defaults and never reads tenant databases.

51 HTTP operations. WebSocket and MCP transports are documented separately. Metrics and framework routes excluded from OpenAPI are not HTTP contract entries.

Use the Live OpenAPI JSON link above for the complete schema served by this application.

Operations

Method Mounted path Summary
POST /admin/api/v1/batch-processing/client/full Import client entities and recalculate matchings
POST /admin/api/v1/batch-processing/client/imports Queue client entity imports
POST /admin/api/v1/batch-processing/client/matchings Recalculate client matchings
POST /admin/api/v1/clients Create New Client
GET /admin/api/v1/clients/exists Check Client Exists
POST /admin/api/v1/clients/indexes Ensure Client Database Indexes
GET /admin/api/v1/configuration/ai-providers-and-models Get Ai Providers And Models
GET /admin/api/v1/configuration/client-databases Get Client Database Config
GET /admin/api/v1/configuration/clients Get Client Config
PUT /admin/api/v1/configuration/clients Update Client Config
PUT /admin/api/v1/configuration/clients/normalize Normalize Client Configurations
GET /admin/api/v1/consumers/postgres-listener/restart Restart Postgres Listener
GET /admin/api/v1/consumers/postgres-listener/start Start Postgres Listener
GET /admin/api/v1/consumers/postgres-listener/stop Stop Postgres Listener
GET /admin/api/v1/consumers/restart Restart Consumers
GET /admin/api/v1/consumers/start Start Consumers
GET /admin/api/v1/consumers/stop Stop Consumers
GET /admin/api/v1/diagnostics/current-datetime Current Datetime
GET /admin/api/v1/diagnostics/environment Display Variables
GET /admin/api/v1/diagnostics/postgres/jobs/summary Summarize Postgres Jobs
POST /admin/api/v1/diagnostics/postgres/migrations/run Trigger Postgres Migrations
POST /admin/api/v1/entity-imports/jobs Import All Jobs
POST /admin/api/v1/entity-imports/opportunities Import All Opportunities
POST /admin/api/v1/entity-imports/skills Import New Skills
POST /admin/api/v1/entity-imports/trainings Import All Trainings
POST /admin/api/v1/entity-imports/users Import All Users
GET /admin/api/v1/entity-maintenance/opportunities/infer-skills Opportunity Skills Inferring
POST /admin/api/v1/entity-maintenance/opportunities/synchronize Synchronize Opportunities Endpoint
GET /admin/api/v1/entity-maintenance/users/infer-skills User Skills Inferring
GET /admin/api/v1/entity-maintenance/users/infer-skills/jobs/{job_id} User Skills Inferring Job Status
GET /admin/api/v1/matching/batches/jom/opportunities Process Opportunity All Endpoint
GET /admin/api/v1/matching/batches/jom/users Process User All Endpoint
GET /admin/api/v1/matching/batches/jpm Process Job All Endpoint
POST /admin/api/v1/matching/jom/scores/opportunities/publish Send Jom Opportunity Scores
POST /admin/api/v1/matching/jom/scores/users/publish Send Jom User Scores
POST /admin/api/v1/matching/jpm/scores/jobs/publish Send Jpm Job Scores
POST /admin/api/v1/matching/jpm/scores/users/publish Send Jpm User Scores
GET /admin/api/v1/operations/{task_id} Get Operation Status
POST /admin/api/v1/postgres-initialization/all Initialize All Postgres Entities
POST /admin/api/v1/postgres-initialization/jobs Initialize Postgres Jobs
POST /admin/api/v1/postgres-initialization/opportunities Initialize Postgres Opportunities
GET /admin/api/v1/postgres-initialization/runs/{job_id} Get Postgres Initialization Run
POST /admin/api/v1/postgres-initialization/skills Initialize Postgres Skills
POST /admin/api/v1/postgres-initialization/trainings Initialize Postgres Trainings
POST /admin/api/v1/postgres-initialization/users Initialize Postgres Users
POST /admin/api/v1/rag/reindex-company Reindex Company Rag
GET /admin/api/v1/reports/active-jobs Get Number Of Active Jobs
GET /admin/api/v1/reports/active-opportunities Get Number Of Active Opportunities
GET /admin/api/v1/reports/active-users Get Number Of Active Users
GET /admin/api/v1/reports/pwc-matchings Export Pwc Matchings Report
POST /admin/api/v1/skills-library/embeddings/regenerate Generate New Skill Embeddings Model

POST /admin/api/v1/batch-processing/client/full

Import client entities and recalculate matchings

Database compatibility: MongoDB only.

Import all client entities, then recalculate enabled JOM and JPM matchings.

Await jobs, opportunities, trainings and users in that order, using direct batch imports (without RabbitMQ). Then await JOM users, JOM opportunities and JPM using the matching-only workflow. MongoDB mode is required.

Send a report to the client's report_mail_addresses after every import and matching phase, plus a consolidated final report. A global import error prevents matching; per-entity failures are reported and processing continues. Independent matching phases continue after a phase failure. Worker-count parameters apply to matching; imports use eight workers per entity family.

Returns 202 with one task_id for the complete background workflow after tenant and recipient validation. Check /operations/{task_id} for its local state.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "user_number_of_threads",
    "required": false,
    "schema": {
      "default": 8,
      "examples": [
        8
      ],
      "minimum": 1,
      "title": "User Number Of Threads",
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "opportunity_number_of_threads",
    "required": false,
    "schema": {
      "default": 8,
      "examples": [
        8
      ],
      "minimum": 1,
      "title": "Opportunity Number Of Threads",
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "job_number_of_threads",
    "required": false,
    "schema": {
      "default": 8,
      "examples": [
        8
      ],
      "minimum": 1,
      "title": "Job Number Of Threads",
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "process_full_client_api_v1_batch_processing_client_full_post",
  "tags": [
    "Batch Processing"
  ],
  "x-database-compatibility": "MongoDB only"
}

POST /admin/api/v1/batch-processing/client/imports

Queue client entity imports

Database compatibility: MongoDB only.

Queue active jobs, opportunities, trainings and users for initialization.

Shares the client-creation workflow: SQL reads only IDs and publishes one persistent RabbitMQ message per entity with compute_matchings=false. Consumers fetch full source data and standardize entities independently. No existing entities are deactivated and no matching scores are deleted. SmartMobility and MongoDB mode are required. Each destination queue must exist and the client prefix must be configured for consumption.

Each family sends a report of confirmed publications to report_mail_addresses. A successful task means messages were queued, not that imports have finished. An SQL read, queue or publication error is logged and reported for that family; later families are still attempted with independent RabbitMQ sessions. Confirmed messages remain queued. Failures produce a partial-failure summary. After interruption, relaunch manually; IDs may be published again. Existing broker retention applies (including the 24-hour ResourceAction queue TTL).

Returns 202 with a task_id after tenant and recipient validation. Check /operations/{task_id} for the process-local publication state.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "import_client_api_v1_batch_processing_client_imports_post",
  "tags": [
    "Batch Processing"
  ],
  "x-database-compatibility": "MongoDB only"
}

POST /admin/api/v1/batch-processing/client/matchings

Recalculate client matchings

Database compatibility: MongoDB + PostgreSQL.

Recalculate enabled JOM users, JOM opportunities, then JPM for a client.

No entity import is performed. Each phase finishes and sends its report to the client's report_mail_addresses before the next phase starts. Disabled phases are reported as skipped; jom_only omits JPM entirely. Separate worker counts control concurrency within each phase. Phase failures are reported and independent matching phases continue.

Returns 202 with a task_id after tenant and recipient validation; processing continues in the background. Check /operations/{task_id} for its local state.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "user_number_of_threads",
    "required": false,
    "schema": {
      "default": 8,
      "examples": [
        8
      ],
      "minimum": 1,
      "title": "User Number Of Threads",
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "opportunity_number_of_threads",
    "required": false,
    "schema": {
      "default": 8,
      "examples": [
        8
      ],
      "minimum": 1,
      "title": "Opportunity Number Of Threads",
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "job_number_of_threads",
    "required": false,
    "schema": {
      "default": 8,
      "examples": [
        8
      ],
      "minimum": 1,
      "title": "Job Number Of Threads",
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "jom_only",
    "required": false,
    "schema": {
      "default": false,
      "examples": [
        false
      ],
      "title": "Jom Only",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "pwc_staging_or_prod",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        "staging"
      ],
      "title": "Pwc Staging Or Prod"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "process_one_client_api_v1_batch_processing_client_matchings_post",
  "tags": [
    "Batch Processing"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

POST /admin/api/v1/clients

Create New Client

Database compatibility: MongoDB only.

Wait for client resources, then schedule initial imports, enabled by default.

Omit environment to use the deployment default shown in Swagger: trimmed APP_IDENTIFIER_SHORT, or ENV when it is unset, blank or mutu. An explicit environment must match that deployment default. An omitted, empty or whitespace-only rabbitmq_prefix uses sm_{APP_IDENTIFIER_SHORT}_legacy, with whitespace trimmed from the identifier. JOM and JPM are always enabled in the new client's configuration.

Resource creation shares the reconciliation policy of POST /clients/indexes. Every call creates missing resources, updates compatible index definitions, replaces incompatible indexes, and drops obsolete or duplicate indexes in catalog-managed collections. The MongoDB identity index is retained. ClientConfig registration occurs only after reconciliation succeeds; existing configuration and registration values are preserved. Retry with the same client identity after a failure. Atlas Search builds remain asynchronous after command acceptance. Set initialisation_import=false for resource-only repair; true reruns the initial imports after successful reconciliation.

Email confirms client creation (or verified resources on a retry) before imports. Each family sends a report after confirmed RabbitMQ publication, including empty queues and partial publication failures. Consumers run independently; task completion means publication attempts finished, not completed imports. A family failure is logged and reported; subsequent families still run and a terminal partial-failure report identifies failures. Cancellation stops work. Existing queue TTLs apply. Each destination queue must exist and the tenant prefix must be configured for consumption. Interrupted publication requires a manual relaunch, which may enqueue the same IDs again. No entities or scores are removed. Successful creation sends no additional final summary. Failures and cancellation retain the terminal administrative report. All notifications use the template's report_mail_addresses; email delivery failures do not interrupt processing. HTTP 200 confirms completed resource commands and registration, not completed imports or queryable Atlas indexes. The task_id identifies only the remaining import workflow. With initialisation_import=false, task_id is null and no import task is created. Resource failures return HTTP 500 without scheduling imports; completed resources remain in place for a retry. Admission or shutdown can return 503.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "client_name",
    "required": true,
    "schema": {
      "examples": [
        "Example Company"
      ],
      "title": "Client Name",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "rabbitmq_prefix",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        "sm_mutu_legacy"
      ],
      "title": "Rabbitmq Prefix"
    }
  },
  {
    "description": "Source database or schema. Defaults to trimmed SM_DATABASE, or smartmobility_io when unset or blank. An explicit query value overrides this default.",
    "in": "query",
    "name": "database_name_import_data",
    "required": false,
    "schema": {
      "default": "smartmobility_io",
      "description": "Source database or schema. Defaults to trimmed SM_DATABASE, or smartmobility_io when unset or blank. An explicit query value overrides this default.",
      "examples": [
        "smartmobility_io"
      ],
      "title": "Database Name Import Data",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "ai_provider",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        "ovh"
      ],
      "title": "Ai Provider"
    }
  },
  {
    "in": "query",
    "name": "llm_model",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        null
      ],
      "title": "Llm Model"
    }
  },
  {
    "in": "query",
    "name": "embedding_model",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        null
      ],
      "title": "Embedding Model"
    }
  },
  {
    "description": "Queue SmartMobility entity IDs in RabbitMQ for import without matching, deactivation or score deletion. Runs on every call; set false to reconcile only the client resources.",
    "in": "query",
    "name": "initialisation_import",
    "required": false,
    "schema": {
      "default": true,
      "description": "Queue SmartMobility entity IDs in RabbitMQ for import without matching, deactivation or score deletion. Runs on every call; set false to reconcile only the client resources.",
      "examples": [
        true
      ],
      "title": "Initialisation Import",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "examples": {
          "resources_only": {
            "value": {
              "message": "Client resources are ready. Initial imports were not requested.",
              "status": "ready"
            }
          },
          "with_import": {
            "value": {
              "message": "Client resources are ready. Initial imports were scheduled.",
              "status": "ready",
              "task_id": "2e43f9d9-1d80-4a20-9c4d-4f47182fabdd"
            }
          }
        },
        "schema": {
          "$ref": "#/components/schemas/ClientCreationResponse"
        }
      }
    },
    "description": "Resource reconciliation and registration completed; imports may still be running."
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  },
  "500": {
    "content": {
      "application/json": {
        "example": {
          "detail": "Client resource provisioning failed. Initial imports were not scheduled."
        }
      }
    },
    "description": "Resource provisioning failed; no imports were scheduled."
  },
  "503": {
    "content": {
      "application/json": {
        "example": {
          "detail": "Administrative task capacity is unavailable. Try again later."
        }
      }
    },
    "description": "Administrative execution is unavailable; retry with the same client identity."
  }
}

Referenced definitions: components/schemas/ClientCreationResponse, components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "create_new_client_api_v1_clients_post",
  "tags": [
    "Clients"
  ],
  "x-database-compatibility": "MongoDB only"
}

GET /admin/api/v1/clients/exists

Check Client Exists

Database compatibility: MongoDB only.

Check ClientConfig registration using the same identity as client creation.

This read-only MongoDB operation does not inspect the physical tenant database or create any configuration. Query strings have no JSON null: omit optional parameters or send empty values to request their defaults.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "description": "Client ID to look up.",
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "description": "Client ID to look up.",
      "examples": [
        "725"
      ],
      "minLength": 1,
      "pattern": "\\S",
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "description": "Deployment environment. Omitted, null or blank input uses the application environment shown in Swagger: APP_IDENTIFIER_SHORT, or ENV when the identifier is unset, blank or mutu. A nonblank value must match the application environment.",
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Deployment environment. Omitted, null or blank input uses the application environment shown in Swagger: APP_IDENTIFIER_SHORT, or ENV when the identifier is unset, blank or mutu. A nonblank value must match the application environment.",
      "examples": [
        "integration"
      ],
      "title": "Environment"
    }
  },
  {
    "description": "Data source, matched in lowercase. Omitted, null or blank input uses smartmobility.",
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": "smartmobility",
      "description": "Data source, matched in lowercase. Omitted, null or blank input uses smartmobility.",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "examples": {
          "registered": {
            "value": {
              "exists": true
            }
          },
          "unregistered": {
            "value": {
              "exists": false
            }
          }
        },
        "schema": {
          "$ref": "#/components/schemas/ClientExistenceResponse"
        }
      }
    },
    "description": "ClientConfig lookup result; an unregistered client also returns 200."
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/ClientExistenceResponse, components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "check_client_exists_api_v1_clients_exists_get",
  "tags": [
    "Clients"
  ],
  "x-database-compatibility": "MongoDB only"
}

POST /admin/api/v1/clients/indexes

Ensure Client Database Indexes

Database compatibility: MongoDB only.

Return the index plan directly, or schedule reconciliation when apply=true.

Dry runs do not create an administrative task or send email. Their completed report includes per-resource errors in error_count, counts and actions. Without db_name, the report has db_name=null and combines configured clients and reference_data; each database is processed once, using its existing catalog. Both client provisioning and repair reconcile catalog-managed collections: update Search/Vector definitions and eligible TTL settings in place, replace incompatible indexes, and remove obsolete or duplicate indexes. The MongoDB identity index is retained. Atlas builds remain asynchronous after acceptance. ClientConfig registrations with dataSource=pwc (case-insensitive) also receive the PwC score indexes. PwC indexes outside the catalog are preserved; conflicts with external classic indexes are reported for manual review without deletion. reference_data always uses its dedicated catalog, regardless of registrations.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "description": "Database to inspect. Omit to process all configured client databases (including PwC) and reference_data on the connected cluster, including its managed skill collections.",
    "in": "query",
    "name": "db_name",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Database to inspect. Omit to process all configured client databases (including PwC) and reference_data on the connected cluster, including its managed skill collections.",
      "examples": [
        "725_smartmobility_integration",
        "client-1_pwc_integration",
        "reference_data"
      ],
      "title": "Db Name"
    }
  },
  {
    "description": "False (default): wait for the read-only plan and return it with HTTP 200. True: reconcile in the background and return HTTP 202 with a task ID; the completion report is sent by email.",
    "in": "query",
    "name": "apply",
    "required": false,
    "schema": {
      "default": false,
      "description": "False (default): wait for the read-only plan and return it with HTTP 200. True: reconcile in the background and return HTTP 202 with a task ID; the completion report is sent by email.",
      "examples": [
        false,
        true
      ],
      "title": "Apply",
      "type": "boolean"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/DatabaseIndexRepairResponse"
        }
      }
    },
    "description": "Completed read-only reconciliation plan (apply=false)."
  },
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Reconciliation scheduled in the background (apply=true)."
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/DatabaseIndexRepairResponse, components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "ensure_client_database_indexes_api_v1_clients_indexes_post",
  "tags": [
    "Clients"
  ],
  "x-database-compatibility": "MongoDB only"
}

GET /admin/api/v1/configuration/ai-providers-and-models

Get Ai Providers And Models

Database compatibility: MongoDB + PostgreSQL.

Retrieve AI providers and models.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  }
}

Operation metadata

{
  "operationId": "get_ai_providers_and_models_api_v1_configuration_ai_providers_and_models_get",
  "tags": [
    "Configuration"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

GET /admin/api/v1/configuration/client-databases

Get Client Database Config

Database compatibility: MongoDB only.

Retrieve client database config.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Client Id"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Data Source"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "get_client_database_config_api_v1_configuration_client_databases_get",
  "tags": [
    "Configuration"
  ],
  "x-database-compatibility": "MongoDB only"
}

GET /admin/api/v1/configuration/clients

Get Client Config

Database compatibility: MongoDB + PostgreSQL.

Retrieve client config.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "get_client_config_api_v1_configuration_clients_get",
  "tags": [
    "Configuration"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

PUT /admin/api/v1/configuration/clients

Update Client Config

Database compatibility: MongoDB + PostgreSQL.

Update client config.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "additionalProperties": true,
        "title": "Config",
        "type": "object"
      }
    }
  },
  "required": true
}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "update_client_config_api_v1_configuration_clients_put",
  "tags": [
    "Configuration"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

PUT /admin/api/v1/configuration/clients/normalize

Normalize Client Configurations

Database compatibility: MongoDB + PostgreSQL.

Normalize stored configuration against the canonical client template.

Add missing defaults, remove obsolete structural keys and preserve existing values, lists, hard filters, rules and client-defined configuration mappings. With no MongoDB client ID, process all registered clients across data sources and environments on the connected instance and report individual failures. Return HTTP 202 after admission. Email the normalized, unchanged and failed counts after completion; stored structural errors are reported in that email.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "description": "MongoDB client ID; omit to normalize all registered clients. PostgreSQL uses one database-wide configuration.",
    "in": "query",
    "name": "client_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "MongoDB client ID; omit to normalize all registered clients. PostgreSQL uses one database-wide configuration.",
      "examples": [
        "725"
      ],
      "title": "Client Id"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "404": {
    "description": "The requested client database or configuration was not found."
  },
  "422": {
    "description": "The notification configuration is missing or invalid."
  }
}

Referenced definitions: components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "normalize_client_configurations_api_v1_configuration_clients_normalize_put",
  "tags": [
    "Configuration"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

GET /admin/api/v1/consumers/postgres-listener/restart

Restart Postgres Listener

Database compatibility: PostgreSQL only.

Restart the PostgreSQL notification listener and every PostgreSQL job worker.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  }
}

Operation metadata

{
  "operationId": "restart_postgres_listener_api_v1_consumers_postgres_listener_restart_get",
  "tags": [
    "Consumers"
  ],
  "x-database-compatibility": "PostgreSQL only"
}

GET /admin/api/v1/consumers/postgres-listener/start

Start Postgres Listener

Database compatibility: PostgreSQL only.

Start the PostgreSQL notification listener and every PostgreSQL job worker.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  }
}

Operation metadata

{
  "operationId": "start_postgres_listener_api_v1_consumers_postgres_listener_start_get",
  "tags": [
    "Consumers"
  ],
  "x-database-compatibility": "PostgreSQL only"
}

GET /admin/api/v1/consumers/postgres-listener/stop

Stop Postgres Listener

Database compatibility: PostgreSQL only.

Stop the PostgreSQL notification listener and every PostgreSQL job worker.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  }
}

Operation metadata

{
  "operationId": "stop_postgres_listener_api_v1_consumers_postgres_listener_stop_get",
  "tags": [
    "Consumers"
  ],
  "x-database-compatibility": "PostgreSQL only"
}

GET /admin/api/v1/consumers/restart

Restart Consumers

Database compatibility: MongoDB only.

Restart the RabbitMQ consumers used by the MongoDB runtime.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  }
}

Operation metadata

{
  "operationId": "restart_consumers_api_v1_consumers_restart_get",
  "tags": [
    "Consumers"
  ],
  "x-database-compatibility": "MongoDB only"
}

GET /admin/api/v1/consumers/start

Start Consumers

Database compatibility: MongoDB only.

Start the RabbitMQ consumers used by the MongoDB runtime.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  }
}

Operation metadata

{
  "operationId": "start_consumers_api_v1_consumers_start_get",
  "tags": [
    "Consumers"
  ],
  "x-database-compatibility": "MongoDB only"
}

GET /admin/api/v1/consumers/stop

Stop Consumers

Database compatibility: MongoDB only.

Stop the RabbitMQ consumers used by the MongoDB runtime.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  }
}

Operation metadata

{
  "operationId": "stop_consumers_api_v1_consumers_stop_get",
  "tags": [
    "Consumers"
  ],
  "x-database-compatibility": "MongoDB only"
}

GET /admin/api/v1/diagnostics/current-datetime

Current Datetime

Database compatibility: MongoDB + PostgreSQL.

Return the current UTC date and time.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  }
}

Operation metadata

{
  "operationId": "current_datetime_api_v1_diagnostics_current_datetime_get",
  "tags": [
    "Diagnostics"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

GET /admin/api/v1/diagnostics/environment

Display Variables

Database compatibility: MongoDB + PostgreSQL.

Return sanitized runtime configuration flags to administrators.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "example": {
          "DATABASE_URL is present": false,
          "ENV": "production",
          "RABBITMQ_URL is present": true
        },
        "schema": {}
      }
    },
    "description": "Runtime configuration values and presence flags for administrators."
  }
}

Operation metadata

{
  "operationId": "display_variables_api_v1_diagnostics_environment_get",
  "tags": [
    "Diagnostics"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

GET /admin/api/v1/diagnostics/postgres/jobs/summary

Summarize Postgres Jobs

Database compatibility: PostgreSQL only.

Return exact status counts for every PostgreSQL listener job table.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/PostgresJobSummaryResponse"
        }
      }
    },
    "description": "Successful Response"
  }
}

Referenced definitions: components/schemas/PostgresJobSummaryResponse.

Operation metadata

{
  "operationId": "summarize_postgres_jobs_api_v1_diagnostics_postgres_jobs_summary_get",
  "tags": [
    "Diagnostics"
  ],
  "x-database-compatibility": "PostgreSQL only"
}

POST /admin/api/v1/diagnostics/postgres/migrations/run

Trigger Postgres Migrations

Database compatibility: PostgreSQL only.

Schedule Alembic migrations and email revision metadata or a sanitized failure.

The worker stops the PostgreSQL listener and restarts it only after success. Notification recipients come from the template, so admission does not require an initialized PostgreSQL configuration table.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  }
}

Referenced definitions: components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "trigger_postgres_migrations_api_v1_diagnostics_postgres_migrations_run_post",
  "tags": [
    "Diagnostics"
  ],
  "x-database-compatibility": "PostgreSQL only"
}

POST /admin/api/v1/entity-imports/jobs

Import All Jobs

Database compatibility: MongoDB only.

Import and standardize all or selected jobs in the background.

Return 202 with a task_id after tenant and report-recipient validation. Once the import finishes, send its Import report to report_mail_addresses, using the same format, counts and statuses as client creation and the client batch workflows. Empty or disabled imports are reported as no_data or skipped; failures retain their failed IDs and trigger a terminal failure summary.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "deactivate_entities",
    "required": false,
    "schema": {
      "default": true,
      "examples": [
        false
      ],
      "title": "Deactivate Entities",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "clean_deactivated_entities_scores",
    "required": false,
    "schema": {
      "default": true,
      "examples": [
        false
      ],
      "title": "Clean Deactivated Entities Scores",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "number_of_threads",
    "required": false,
    "schema": {
      "default": 8,
      "examples": [
        8
      ],
      "minimum": 1,
      "title": "Number Of Threads",
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Body_import_all_jobs_api_v1_entity_imports_jobs_post"
      }
    }
  }
}

Referenced definitions: components/schemas/Body_import_all_jobs_api_v1_entity_imports_jobs_post.

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "import_all_jobs_api_v1_entity_imports_jobs_post",
  "tags": [
    "Entity Imports"
  ],
  "x-database-compatibility": "MongoDB only"
}

POST /admin/api/v1/entity-imports/opportunities

Import All Opportunities

Database compatibility: MongoDB only.

Import and standardize all or selected opportunities in the background.

Return 202 with a task_id after tenant and report-recipient validation. Once the import finishes, send its Import report to report_mail_addresses, using the same format, counts and statuses as client creation and the client batch workflows. Empty or disabled imports are reported as no_data or skipped; failures retain their failed IDs and trigger a terminal failure summary.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "deactivate_entities",
    "required": false,
    "schema": {
      "default": true,
      "examples": [
        false
      ],
      "title": "Deactivate Entities",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "clean_deactivated_entities_scores",
    "required": false,
    "schema": {
      "default": true,
      "examples": [
        false
      ],
      "title": "Clean Deactivated Entities Scores",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "number_of_threads",
    "required": false,
    "schema": {
      "default": 8,
      "examples": [
        8
      ],
      "minimum": 1,
      "title": "Number Of Threads",
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Body_import_all_opportunities_api_v1_entity_imports_opportunities_post"
      }
    }
  }
}

Referenced definitions: components/schemas/Body_import_all_opportunities_api_v1_entity_imports_opportunities_post.

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "import_all_opportunities_api_v1_entity_imports_opportunities_post",
  "tags": [
    "Entity Imports"
  ],
  "x-database-compatibility": "MongoDB only"
}

POST /admin/api/v1/entity-imports/skills

Import New Skills

Database compatibility: MongoDB only.

Import new skills.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        "725"
      ],
      "title": "Client Id"
    }
  },
  {
    "in": "query",
    "name": "reference_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        123
      ],
      "title": "Reference Id"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "source_database",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        "smartmobility_io"
      ],
      "title": "Source Database"
    }
  },
  {
    "in": "query",
    "name": "collection_name",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        "skills_integration_smartmobility"
      ],
      "title": "Collection Name"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "import_new_skills_api_v1_entity_imports_skills_post",
  "tags": [
    "Entity Imports"
  ],
  "x-database-compatibility": "MongoDB only"
}

POST /admin/api/v1/entity-imports/trainings

Import All Trainings

Database compatibility: MongoDB only.

Import and standardize all or selected trainings in the background.

Return 202 with a task_id after tenant and report-recipient validation. Once the import finishes, send its Import report to report_mail_addresses, using the same format, counts and statuses as client creation and the client batch workflows. Empty or disabled imports are reported as no_data or skipped; failures retain their failed IDs and trigger a terminal failure summary.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "deactivate_entities",
    "required": false,
    "schema": {
      "default": true,
      "examples": [
        false
      ],
      "title": "Deactivate Entities",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "number_of_threads",
    "required": false,
    "schema": {
      "default": 8,
      "examples": [
        8
      ],
      "minimum": 1,
      "title": "Number Of Threads",
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Body_import_all_trainings_api_v1_entity_imports_trainings_post"
      }
    }
  }
}

Referenced definitions: components/schemas/Body_import_all_trainings_api_v1_entity_imports_trainings_post.

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "import_all_trainings_api_v1_entity_imports_trainings_post",
  "tags": [
    "Entity Imports"
  ],
  "x-database-compatibility": "MongoDB only"
}

POST /admin/api/v1/entity-imports/users

Import All Users

Database compatibility: MongoDB only.

Import and standardize all or selected users in the background.

Return 202 with a task_id after tenant and report-recipient validation. Once the import finishes, send its Import report to report_mail_addresses, using the same format, counts and statuses as client creation and the client batch workflows. Empty or disabled imports are reported as no_data or skipped; failures retain their failed IDs and trigger a terminal failure summary.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "deactivate_entities",
    "required": false,
    "schema": {
      "default": true,
      "examples": [
        false
      ],
      "title": "Deactivate Entities",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "clean_deactivated_entities_scores",
    "required": false,
    "schema": {
      "default": true,
      "examples": [
        false
      ],
      "title": "Clean Deactivated Entities Scores",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "number_of_threads",
    "required": false,
    "schema": {
      "default": 8,
      "examples": [
        8
      ],
      "minimum": 1,
      "title": "Number Of Threads",
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Body_import_all_users_api_v1_entity_imports_users_post"
      }
    }
  }
}

Referenced definitions: components/schemas/Body_import_all_users_api_v1_entity_imports_users_post.

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "import_all_users_api_v1_entity_imports_users_post",
  "tags": [
    "Entity Imports"
  ],
  "x-database-compatibility": "MongoDB only"
}

GET /admin/api/v1/entity-maintenance/opportunities/infer-skills

Opportunity Skills Inferring

Database compatibility: MongoDB only.

Schedule MongoDB opportunity inference and email its terminal outcome.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "force_inferring",
    "required": false,
    "schema": {
      "default": true,
      "examples": [
        true
      ],
      "title": "Force Inferring",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "delete_inferring",
    "required": false,
    "schema": {
      "default": false,
      "examples": [
        false
      ],
      "title": "Delete Inferring",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "opportunity_skills_inferring_api_v1_entity_maintenance_opportunities_infer_skills_get",
  "tags": [
    "Entity Maintenance"
  ],
  "x-database-compatibility": "MongoDB only"
}

POST /admin/api/v1/entity-maintenance/opportunities/synchronize

Synchronize Opportunities Endpoint

Database compatibility: MongoDB only.

Return verification counters directly, or schedule status synchronization.

With check_only=true, no administrative task is created and no email is sent. Parsing and database errors are returned through the normal HTTP boundary. Applying changes preserves the initial comparison counters. Missing offers are never created. Closing retains cleanup of scores and embeddings; delete_deactivated_data controls physical deletion of closed offers.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": false,
    "schema": {
      "default": "1000",
      "examples": [
        "1000"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "pwc",
      "examples": [
        "pwc"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "description": "True (default): wait for the read-only comparison and return its counters with HTTP 200. False: close offers absent from the file and reopen stored closed offers present in it, in the background, and return HTTP 202 with a task ID; the completion report is sent by email.",
    "in": "query",
    "name": "check_only",
    "required": false,
    "schema": {
      "default": true,
      "description": "True (default): wait for the read-only comparison and return its counters with HTTP 200. False: close offers absent from the file and reopen stored closed offers present in it, in the background, and return HTTP 202 with a task ID; the completion report is sent by email.",
      "examples": [
        true,
        false
      ],
      "title": "Check Only",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "pwc_staging_or_prod",
    "required": false,
    "schema": {
      "default": "prod",
      "examples": [
        "prod"
      ],
      "title": "Pwc Staging Or Prod",
      "type": "string"
    }
  }
]

Request body

{
  "content": {
    "multipart/form-data": {
      "schema": {
        "$ref": "#/components/schemas/Body_synchronize_opportunities_endpoint_api_v1_entity_maintenance_opportunities_synchronize_post"
      }
    }
  },
  "required": true
}

Referenced definitions: components/schemas/Body_synchronize_opportunities_endpoint_api_v1_entity_maintenance_opportunities_synchronize_post.

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OpportunitySynchronizationResponse"
        }
      }
    },
    "description": "Completed read-only status comparison (check_only=true)."
  },
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Closing and reopening of existing opportunities scheduled in the background (check_only=false)."
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted, components/schemas/OpportunitySynchronizationResponse.

Operation metadata

{
  "operationId": "synchronize_opportunities_endpoint_api_v1_entity_maintenance_opportunities_synchronize_post",
  "tags": [
    "Entity Maintenance"
  ],
  "x-database-compatibility": "MongoDB only"
}

GET /admin/api/v1/entity-maintenance/users/infer-skills

User Skills Inferring

Database compatibility: MongoDB + PostgreSQL.

Schedule MongoDB inference and email its outcome, or return the existing PostgreSQL job.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "force_inferring",
    "required": false,
    "schema": {
      "default": true,
      "examples": [
        true
      ],
      "title": "Force Inferring",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "delete_inferring",
    "required": false,
    "schema": {
      "default": false,
      "examples": [
        false
      ],
      "title": "Delete Inferring",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "example": {
          "jobId": 42,
          "message": "success",
          "status": "pending"
        }
      }
    },
    "description": "PostgreSQL durable reconciliation job scheduled; use the existing job status endpoint."
  },
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "MongoDB maintenance accepted."
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "user_skills_inferring_api_v1_entity_maintenance_users_infer_skills_get",
  "tags": [
    "Entity Maintenance"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

GET /admin/api/v1/entity-maintenance/users/infer-skills/jobs/{job_id}

User Skills Inferring Job Status

Database compatibility: PostgreSQL only.

Handle the user skills inferring job status API request.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "path",
    "name": "job_id",
    "required": true,
    "schema": {
      "title": "Job Id",
      "type": "integer"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "user_skills_inferring_job_status_api_v1_entity_maintenance_users_infer_skills_jobs__job_id__get",
  "tags": [
    "Entity Maintenance"
  ],
  "x-database-compatibility": "PostgreSQL only"
}

GET /admin/api/v1/matching/batches/jom/opportunities

Process Opportunity All Endpoint

Database compatibility: MongoDB + PostgreSQL.

Recalculate JOM opportunities and email the completed phase report.

Return 202 with a task_id after tenant and report-recipient validation. The report uses the same JOM opportunities label, counters and statuses as the client matching and full workflows. Disabled matching is reported as skipped and empty batches as no_data. Per-entity failures retain their failed IDs; failures also trigger a terminal failure summary. No entities are imported.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "number_of_threads",
    "required": false,
    "schema": {
      "default": 8,
      "examples": [
        8
      ],
      "minimum": 1,
      "title": "Number Of Threads",
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "pwc_staging_or_prod",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        "staging"
      ],
      "title": "Pwc Staging Or Prod"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "process_opportunity_all_endpoint_api_v1_matching_batches_jom_opportunities_get",
  "tags": [
    "Matching"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

GET /admin/api/v1/matching/batches/jom/users

Process User All Endpoint

Database compatibility: MongoDB + PostgreSQL.

Recalculate JOM users and email the completed phase report.

Return 202 with a task_id after tenant and report-recipient validation. The report uses the same JOM users label, counters and statuses as the client matching and full workflows. Disabled matching is reported as skipped and empty batches as no_data. Per-entity failures retain their failed IDs; failures also trigger a terminal failure summary. No entities are imported.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "number_of_threads",
    "required": false,
    "schema": {
      "default": 8,
      "examples": [
        8
      ],
      "minimum": 1,
      "title": "Number Of Threads",
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "pwc_staging_or_prod",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        "staging"
      ],
      "title": "Pwc Staging Or Prod"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "process_user_all_endpoint_api_v1_matching_batches_jom_users_get",
  "tags": [
    "Matching"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

GET /admin/api/v1/matching/batches/jpm

Process Job All Endpoint

Database compatibility: MongoDB + PostgreSQL.

Recalculate JPM and email the completed phase report.

Return 202 with a task_id after tenant and report-recipient validation. The report uses the same JPM label, counters and statuses as the client matching and full workflows. Disabled matching is reported as skipped and empty batches as no_data. Per-entity failures retain their failed IDs; failures also trigger a terminal failure summary. No entities are imported.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "number_of_threads",
    "required": false,
    "schema": {
      "default": 8,
      "examples": [
        8
      ],
      "minimum": 1,
      "title": "Number Of Threads",
      "type": "integer"
    }
  },
  {
    "in": "query",
    "name": "pwc_staging_or_prod",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        "staging"
      ],
      "title": "Pwc Staging Or Prod"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "process_job_all_endpoint_api_v1_matching_batches_jpm_get",
  "tags": [
    "Matching"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

POST /admin/api/v1/matching/jom/scores/opportunities/publish

Send Jom Opportunity Scores

Database compatibility: MongoDB only.

Publish JOM opportunity scores.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "opportunity_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Opportunity Id"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "send_jom_opportunity_scores_api_v1_matching_jom_scores_opportunities_publish_post",
  "tags": [
    "Matching"
  ],
  "x-database-compatibility": "MongoDB only"
}

POST /admin/api/v1/matching/jom/scores/users/publish

Send Jom User Scores

Database compatibility: MongoDB only.

Publish JOM user scores.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "user_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "User Id"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "send_jom_user_scores_api_v1_matching_jom_scores_users_publish_post",
  "tags": [
    "Matching"
  ],
  "x-database-compatibility": "MongoDB only"
}

POST /admin/api/v1/matching/jpm/scores/jobs/publish

Send Jpm Job Scores

Database compatibility: MongoDB only.

Publish stored JPM job scores in batches of at most 10,000 records.

Publication uses streaming.jpm.job. Return HTTP 202 and email the result after every batch has completed. No matching scores are recomputed.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "description": "Job ID to publish; omit to publish all JPM scores.",
    "in": "query",
    "name": "job_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Job ID to publish; omit to publish all JPM scores.",
      "examples": [
        "1042"
      ],
      "title": "Job Id"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "400": {
    "description": "Score publication requires MongoDB mode."
  },
  "404": {
    "description": "The requested client database was not found."
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "send_jpm_job_scores_api_v1_matching_jpm_scores_jobs_publish_post",
  "tags": [
    "Matching"
  ],
  "x-database-compatibility": "MongoDB only"
}

POST /admin/api/v1/matching/jpm/scores/users/publish

Send Jpm User Scores

Database compatibility: MongoDB only.

Publish JPM user scores.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "user_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "User Id"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "send_jpm_user_scores_api_v1_matching_jpm_scores_users_publish_post",
  "tags": [
    "Matching"
  ],
  "x-database-compatibility": "MongoDB only"
}

GET /admin/api/v1/operations/{task_id}

Get Operation Status

Database compatibility: No database.

Return running, success or fail while the task is retained in memory.

Waiting tasks count as running. Partial failures and cancellations count as fail. Each worker keeps its latest 1,000 completed outcomes, independently of email delivery. Lookup covers sibling workers in the same container, without a database, persistence or a heartbeat. Other containers and durable PostgreSQL job IDs are outside this endpoint's scope.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "description": "Task ID returned by an administrative HTTP 202 response.",
    "in": "path",
    "name": "task_id",
    "required": true,
    "schema": {
      "description": "Task ID returned by an administrative HTTP 202 response.",
      "examples": [
        "2e43f9d9-1d80-4a20-9c4d-4f47182fabdd"
      ],
      "format": "uuid",
      "title": "Task Id",
      "type": "string"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "examples": {
          "fail": {
            "value": {
              "status": "fail",
              "task_id": "2e43f9d9-1d80-4a20-9c4d-4f47182fabdd"
            }
          },
          "running": {
            "value": {
              "status": "running",
              "task_id": "2e43f9d9-1d80-4a20-9c4d-4f47182fabdd"
            }
          },
          "success": {
            "value": {
              "status": "success",
              "task_id": "2e43f9d9-1d80-4a20-9c4d-4f47182fabdd"
            }
          }
        },
        "schema": {
          "$ref": "#/components/schemas/OperationStatusResponse"
        }
      }
    },
    "description": "Execution state retained in a worker's memory."
  },
  "404": {
    "content": {
      "application/json": {
        "example": {
          "detail": "Unknown task: not present in the workers."
        }
      }
    },
    "description": "Unknown, evicted or lost after a worker restart."
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  },
  "503": {
    "content": {
      "application/json": {
        "example": {
          "detail": "Administrative task status is unavailable. Try again later."
        }
      }
    },
    "description": "The worker lookup could not be completed."
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationStatusResponse.

Operation metadata

{
  "operationId": "get_operation_status_api_v1_operations__task_id__get",
  "tags": [
    "Operations"
  ],
  "x-database-compatibility": "No database"
}

POST /admin/api/v1/postgres-initialization/all

Initialize All Postgres Entities

Database compatibility: PostgreSQL only.

Initialize every entity sequentially for one client or the whole database.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Client Id"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "additionalProperties": true,
          "title": "Response Initialize All Postgres Entities Api V1 Postgres Initialization All Post",
          "type": "object"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "initialize_all_postgres_entities_api_v1_postgres_initialization_all_post",
  "tags": [
    "PostgreSQL Initialization"
  ],
  "x-database-compatibility": "PostgreSQL only"
}

POST /admin/api/v1/postgres-initialization/jobs

Initialize Postgres Jobs

Database compatibility: PostgreSQL only.

Initialize missing job embeddings.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Client Id"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "additionalProperties": true,
          "title": "Response Initialize Postgres Jobs Api V1 Postgres Initialization Jobs Post",
          "type": "object"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "initialize_postgres_jobs_api_v1_postgres_initialization_jobs_post",
  "tags": [
    "PostgreSQL Initialization"
  ],
  "x-database-compatibility": "PostgreSQL only"
}

POST /admin/api/v1/postgres-initialization/opportunities

Initialize Postgres Opportunities

Database compatibility: PostgreSQL only.

Initialize missing opportunity enrichments and embeddings.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Client Id"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "additionalProperties": true,
          "title": "Response Initialize Postgres Opportunities Api V1 Postgres Initialization Opportunities Post",
          "type": "object"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "initialize_postgres_opportunities_api_v1_postgres_initialization_opportunities_post",
  "tags": [
    "PostgreSQL Initialization"
  ],
  "x-database-compatibility": "PostgreSQL only"
}

GET /admin/api/v1/postgres-initialization/runs/{job_id}

Get Postgres Initialization Run

Database compatibility: PostgreSQL only.

Return durable progress for a PostgreSQL initialization run.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "path",
    "name": "job_id",
    "required": true,
    "schema": {
      "title": "Job Id",
      "type": "integer"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "additionalProperties": true,
          "title": "Response Get Postgres Initialization Run Api V1 Postgres Initialization Runs  Job Id  Get",
          "type": "object"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "get_postgres_initialization_run_api_v1_postgres_initialization_runs__job_id__get",
  "tags": [
    "PostgreSQL Initialization"
  ],
  "x-database-compatibility": "PostgreSQL only"
}

POST /admin/api/v1/postgres-initialization/skills

Initialize Postgres Skills

Database compatibility: PostgreSQL only.

Initialize missing skill embeddings for one client or the whole database.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Client Id"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "additionalProperties": true,
          "title": "Response Initialize Postgres Skills Api V1 Postgres Initialization Skills Post",
          "type": "object"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "initialize_postgres_skills_api_v1_postgres_initialization_skills_post",
  "tags": [
    "PostgreSQL Initialization"
  ],
  "x-database-compatibility": "PostgreSQL only"
}

POST /admin/api/v1/postgres-initialization/trainings

Initialize Postgres Trainings

Database compatibility: PostgreSQL only.

Initialize missing training enrichments and embeddings.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Client Id"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "additionalProperties": true,
          "title": "Response Initialize Postgres Trainings Api V1 Postgres Initialization Trainings Post",
          "type": "object"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "initialize_postgres_trainings_api_v1_postgres_initialization_trainings_post",
  "tags": [
    "PostgreSQL Initialization"
  ],
  "x-database-compatibility": "PostgreSQL only"
}

POST /admin/api/v1/postgres-initialization/users

Initialize Postgres Users

Database compatibility: PostgreSQL only.

Initialize user profiles, skill gaps and inferred skills.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Client Id"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "additionalProperties": true,
          "title": "Response Initialize Postgres Users Api V1 Postgres Initialization Users Post",
          "type": "object"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "initialize_postgres_users_api_v1_postgres_initialization_users_post",
  "tags": [
    "PostgreSQL Initialization"
  ],
  "x-database-compatibility": "PostgreSQL only"
}

POST /admin/api/v1/rag/reindex-company

Reindex Company Rag

Database compatibility: MongoDB + PostgreSQL.

Trigger an incremental or full RAG synchronization for one company.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "examples": [
        "725"
      ],
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "pwc",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "mode",
    "required": false,
    "schema": {
      "default": "update",
      "enum": [
        "update",
        "full"
      ],
      "examples": [
        "update"
      ],
      "title": "Mode",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "reindex_company_rag_api_v1_rag_reindex_company_post",
  "tags": [
    "RAG"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

GET /admin/api/v1/reports/active-jobs

Get Number Of Active Jobs

Database compatibility: MongoDB + PostgreSQL.

Retrieve number of active jobs.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "get_number_of_active_jobs_api_v1_reports_active_jobs_get",
  "tags": [
    "Reports"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

GET /admin/api/v1/reports/active-opportunities

Get Number Of Active Opportunities

Database compatibility: MongoDB + PostgreSQL.

Retrieve number of active opportunities.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "get_number_of_active_opportunities_api_v1_reports_active_opportunities_get",
  "tags": [
    "Reports"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

GET /admin/api/v1/reports/active-users

Get Number Of Active Users

Database compatibility: MongoDB + PostgreSQL.

Retrieve number of active users.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "client_id",
    "required": true,
    "schema": {
      "title": "Client Id",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "200": {
    "content": {
      "application/json": {
        "schema": {}
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError.

Operation metadata

{
  "operationId": "get_number_of_active_users_api_v1_reports_active_users_get",
  "tags": [
    "Reports"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

GET /admin/api/v1/reports/pwc-matchings

Export Pwc Matchings Report

Database compatibility: MongoDB + PostgreSQL.

Schedule the PwC export and email its terminal outcome to configured recipients.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "in": "query",
    "name": "pwc_staging_or_prod",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        "prod"
      ],
      "title": "Pwc Staging Or Prod"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "export_pwc_matchings_report_api_v1_reports_pwc_matchings_get",
  "tags": [
    "Reports"
  ],
  "x-database-compatibility": "MongoDB + PostgreSQL"
}

POST /admin/api/v1/skills-library/embeddings/regenerate

Generate New Skill Embeddings Model

Database compatibility: MongoDB only.

Generate new skill embeddings model.

Path parameters and metadata

{}

Authentication

[
  {
    "APIKeyHeader": []
  },
  {
    "Client-ID": []
  },
  {
    "HTTPBearer": []
  }
]

Parameters

[
  {
    "description": "Collection to process. Omit to process every collection in reference_data sequentially.",
    "in": "query",
    "name": "collection_name",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Collection to process. Omit to process every collection in reference_data sequentially.",
      "examples": [
        "skills_integration_smartmobility"
      ],
      "title": "Collection Name"
    }
  },
  {
    "in": "query",
    "name": "client_id",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "examples": [
        "123"
      ],
      "title": "Client Id"
    }
  },
  {
    "in": "query",
    "name": "data_source",
    "required": false,
    "schema": {
      "default": "smartmobility",
      "examples": [
        "smartmobility"
      ],
      "title": "Data Source",
      "type": "string"
    }
  },
  {
    "in": "query",
    "name": "ai_provider",
    "required": false,
    "schema": {
      "default": "ovh",
      "examples": [
        "ovh"
      ],
      "title": "Ai Provider",
      "type": "string"
    }
  },
  {
    "description": "Use a model key configured for the selected provider, or omit it to use its default.",
    "in": "query",
    "name": "embedding_model",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Use a model key configured for the selected provider, or omit it to use its default.",
      "examples": [
        null
      ],
      "title": "Embedding Model"
    }
  },
  {
    "description": "True completes only skills with a missing, null or empty English title or model vector. False regenerates every vector. Embeddings always use title_en.",
    "in": "query",
    "name": "update_embeddings",
    "required": false,
    "schema": {
      "default": false,
      "description": "True completes only skills with a missing, null or empty English title or model vector. False regenerates every vector. Embeddings always use title_en.",
      "examples": [
        true
      ],
      "title": "Update Embeddings",
      "type": "boolean"
    }
  },
  {
    "in": "query",
    "name": "environment",
    "required": false,
    "schema": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Environment"
    }
  }
]

Request body

{}

Responses

{
  "202": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/OperationAccepted"
        }
      }
    },
    "description": "Successful Response"
  },
  "422": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/HTTPValidationError"
        }
      }
    },
    "description": "Validation Error"
  }
}

Referenced definitions: components/schemas/HTTPValidationError, components/schemas/OperationAccepted.

Operation metadata

{
  "operationId": "generate_new_skill_embeddings_model_api_v1_skills_library_embeddings_regenerate_post",
  "tags": [
    "Skills Library"
  ],
  "x-database-compatibility": "MongoDB only"
}

Shared definitions

Body_import_all_jobs_api_v1_entity_imports_jobs_post (schemas)

{
  "properties": {
    "import_job_ids": {
      "default": [],
      "examples": [
        [
          "entity-101",
          "entity-102"
        ]
      ],
      "items": {
        "type": "string"
      },
      "title": "Import Job Ids",
      "type": "array"
    },
    "infer_skills_job_ids": {
      "default": [],
      "examples": [
        [
          "entity-101",
          "entity-102"
        ]
      ],
      "items": {
        "type": "string"
      },
      "title": "Infer Skills Job Ids",
      "type": "array"
    }
  },
  "title": "Body_import_all_jobs_api_v1_entity_imports_jobs_post",
  "type": "object"
}

Body_import_all_opportunities_api_v1_entity_imports_opportunities_post (schemas)

{
  "properties": {
    "import_opportunity_ids": {
      "default": [],
      "examples": [
        [
          "entity-101",
          "entity-102"
        ]
      ],
      "items": {
        "type": "string"
      },
      "title": "Import Opportunity Ids",
      "type": "array"
    },
    "infer_skills_opportunity_ids": {
      "default": [],
      "examples": [
        [
          "entity-101",
          "entity-102"
        ]
      ],
      "items": {
        "type": "string"
      },
      "title": "Infer Skills Opportunity Ids",
      "type": "array"
    }
  },
  "title": "Body_import_all_opportunities_api_v1_entity_imports_opportunities_post",
  "type": "object"
}

Body_import_all_trainings_api_v1_entity_imports_trainings_post (schemas)

{
  "properties": {
    "import_training_ids": {
      "default": [],
      "examples": [
        [
          "entity-101",
          "entity-102"
        ]
      ],
      "items": {
        "type": "string"
      },
      "title": "Import Training Ids",
      "type": "array"
    },
    "infer_skills_training_ids": {
      "default": [],
      "examples": [
        [
          "entity-101",
          "entity-102"
        ]
      ],
      "items": {
        "type": "string"
      },
      "title": "Infer Skills Training Ids",
      "type": "array"
    }
  },
  "title": "Body_import_all_trainings_api_v1_entity_imports_trainings_post",
  "type": "object"
}

Body_import_all_users_api_v1_entity_imports_users_post (schemas)

{
  "properties": {
    "import_user_ids": {
      "default": [],
      "examples": [
        [
          "entity-101",
          "entity-102"
        ]
      ],
      "items": {
        "type": "string"
      },
      "title": "Import User Ids",
      "type": "array"
    },
    "infer_skills_user_ids": {
      "default": [],
      "examples": [
        [
          "entity-101",
          "entity-102"
        ]
      ],
      "items": {
        "type": "string"
      },
      "title": "Infer Skills User Ids",
      "type": "array"
    }
  },
  "title": "Body_import_all_users_api_v1_entity_imports_users_post",
  "type": "object"
}

Body_synchronize_opportunities_endpoint_api_v1_entity_maintenance_opportunities_synchronize_post (schemas)

{
  "properties": {
    "open_opportunities_file": {
      "contentMediaType": "application/octet-stream",
      "description": "Upload a CSV with a jobOpportunityKey column or a JSON array such as [{\"jobOpportunityKey\": 1042}]. Supply the actual list of open opportunities for the selected client. The bounded file is copied before processing.",
      "title": "Open Opportunities File",
      "type": "string"
    }
  },
  "required": [
    "open_opportunities_file"
  ],
  "title": "Body_synchronize_opportunities_endpoint_api_v1_entity_maintenance_opportunities_synchronize_post",
  "type": "object"
}

ClientCreationResponse (schemas)

{
  "additionalProperties": false,
  "description": "Confirm resource commands completed without claiming imports are finished.",
  "properties": {
    "message": {
      "examples": [
        "Client resources are ready. Initial imports were scheduled."
      ],
      "title": "Message",
      "type": "string"
    },
    "status": {
      "const": "ready",
      "default": "ready",
      "title": "Status",
      "type": "string"
    },
    "task_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Initial import task ID, or null when initialization was disabled.",
      "examples": [
        "2e43f9d9-1d80-4a20-9c4d-4f47182fabdd",
        null
      ],
      "title": "Task Id"
    }
  },
  "required": [
    "message"
  ],
  "title": "ClientCreationResponse",
  "type": "object"
}

ClientExistenceResponse (schemas)

{
  "additionalProperties": false,
  "description": "Whether ClientConfig contains the requested client identity.",
  "properties": {
    "exists": {
      "description": "True when a matching ClientConfig document exists.",
      "examples": [
        true,
        false
      ],
      "title": "Exists",
      "type": "boolean"
    }
  },
  "required": [
    "exists"
  ],
  "title": "ClientExistenceResponse",
  "type": "object"
}

DatabaseIndexRepairResponse (schemas)

{
  "description": "Report for one database or configured clients and shared reference data.",
  "example": {
    "actions": [
      {
        "collection": "Users",
        "database": "725_smartmobility_integration",
        "index_name": "user_id_unique",
        "kind": "standard",
        "operation": "keep",
        "reason": "Required definition already exists."
      },
      {
        "collection": "ChatMessageLog",
        "database": "725_smartmobility_integration",
        "index_name": "chat_conversation_history_idx",
        "kind": "standard",
        "operation": "create",
        "reason": "Required index is missing."
      },
      {
        "collection": "Skills",
        "database": "725_smartmobility_integration",
        "index_name": "skills_autocomplete",
        "kind": "search",
        "operation": "update",
        "reason": "definition differs from the managed catalog"
      },
      {
        "collection": "Skills",
        "database": "725_smartmobility_integration",
        "index_name": "ada_002_vector_index",
        "kind": "vector",
        "operation": "update",
        "reason": "definition differs from the managed catalog"
      },
      {
        "collection": "Skills",
        "database": "725_smartmobility_integration",
        "index_name": "obsolete_autocomplete",
        "kind": "search",
        "operation": "drop",
        "reason": "definition is absent from the managed catalog"
      }
    ],
    "apply": false,
    "counts": {
      "create": 1,
      "drop": 1,
      "keep": 1,
      "update": 2
    },
    "db_name": "725_smartmobility_integration",
    "error_count": 0
  },
  "properties": {
    "actions": {
      "items": {
        "$ref": "#/components/schemas/IndexActionResponse"
      },
      "title": "Actions",
      "type": "array"
    },
    "apply": {
      "title": "Apply",
      "type": "boolean"
    },
    "counts": {
      "additionalProperties": {
        "type": "integer"
      },
      "title": "Counts",
      "type": "object"
    },
    "db_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Db Name"
    },
    "error_count": {
      "title": "Error Count",
      "type": "integer"
    }
  },
  "required": [
    "db_name",
    "apply",
    "error_count",
    "counts",
    "actions"
  ],
  "title": "DatabaseIndexRepairResponse",
  "type": "object"
}

Referenced definitions: components/schemas/IndexActionResponse.

HTTPValidationError (schemas)

{
  "properties": {
    "detail": {
      "items": {
        "$ref": "#/components/schemas/ValidationError"
      },
      "title": "Detail",
      "type": "array"
    }
  },
  "title": "HTTPValidationError",
  "type": "object"
}

Referenced definitions: components/schemas/ValidationError.

IndexActionResponse (schemas)

{
  "description": "One reconciliation decision for a managed MongoDB resource.",
  "properties": {
    "collection": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Collection"
    },
    "database": {
      "title": "Database",
      "type": "string"
    },
    "index_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Index Name"
    },
    "kind": {
      "enum": [
        "standard",
        "search",
        "vector",
        "collection",
        "database"
      ],
      "title": "Kind",
      "type": "string"
    },
    "operation": {
      "enum": [
        "keep",
        "create",
        "update",
        "drop",
        "deduplicate",
        "skip",
        "error"
      ],
      "title": "Operation",
      "type": "string"
    },
    "reason": {
      "title": "Reason",
      "type": "string"
    }
  },
  "required": [
    "operation",
    "database",
    "collection",
    "kind",
    "index_name",
    "reason"
  ],
  "title": "IndexActionResponse",
  "type": "object"
}

OperationAccepted (schemas)

{
  "description": "Acknowledge scheduling; the final result is delivered by email.",
  "example": {
    "message": "Operation accepted. The completion report will be sent by email.",
    "status": "accepted",
    "task_id": "2e43f9d9-1d80-4a20-9c4d-4f47182fabdd"
  },
  "properties": {
    "message": {
      "default": "Operation accepted. The completion report will be sent by email.",
      "title": "Message",
      "type": "string"
    },
    "status": {
      "const": "accepted",
      "default": "accepted",
      "title": "Status",
      "type": "string"
    },
    "task_id": {
      "examples": [
        "2e43f9d9-1d80-4a20-9c4d-4f47182fabdd"
      ],
      "title": "Task Id",
      "type": "string"
    }
  },
  "required": [
    "task_id"
  ],
  "title": "OperationAccepted",
  "type": "object"
}

OperationState (schemas)

{
  "enum": [
    "running",
    "success",
    "fail"
  ],
  "type": "string"
}

OperationStatusResponse (schemas)

{
  "additionalProperties": false,
  "description": "Expose only the execution state retained in worker memory.",
  "properties": {
    "status": {
      "$ref": "#/components/schemas/OperationState",
      "examples": [
        "running",
        "success",
        "fail"
      ]
    },
    "task_id": {
      "examples": [
        "2e43f9d9-1d80-4a20-9c4d-4f47182fabdd"
      ],
      "format": "uuid",
      "title": "Task Id",
      "type": "string"
    }
  },
  "required": [
    "task_id",
    "status"
  ],
  "title": "OperationStatusResponse",
  "type": "object"
}

Referenced definitions: components/schemas/OperationState.

OpportunitySynchronizationResponse (schemas)

{
  "description": "Describe the initial comparison, before any requested status changes.",
  "example": {
    "closed_need_to_be_opened": 1,
    "correct_ones": 10,
    "missing_opportunities": 1,
    "opened_need_to_be_closed": 2
  },
  "properties": {
    "closed_need_to_be_opened": {
      "description": "Initially closed opportunities present in the upload; reopened when applying changes if still stored.",
      "title": "Closed Need To Be Opened",
      "type": "integer"
    },
    "correct_ones": {
      "description": "Initially open opportunities present in the upload; already correct and left unchanged.",
      "title": "Correct Ones",
      "type": "integer"
    },
    "missing_opportunities": {
      "description": "Uploaded identifiers absent from storage; repeated missing IDs count per uploaded row. No offers are created.",
      "title": "Missing Opportunities",
      "type": "integer"
    },
    "opened_need_to_be_closed": {
      "description": "Initially open opportunities absent from the upload; closed or deleted when applying changes.",
      "title": "Opened Need To Be Closed",
      "type": "integer"
    }
  },
  "required": [
    "opened_need_to_be_closed",
    "closed_need_to_be_opened",
    "correct_ones",
    "missing_opportunities"
  ],
  "title": "OpportunitySynchronizationResponse",
  "type": "object"
}

PostgresJobGroupSummary (schemas)

{
  "description": "Counts for one discriminator value inside a shared queue table.",
  "properties": {
    "summary": {
      "$ref": "#/components/schemas/PostgresJobStatusCounts"
    },
    "value": {
      "title": "Value",
      "type": "string"
    }
  },
  "required": [
    "value",
    "summary"
  ],
  "title": "PostgresJobGroupSummary",
  "type": "object"
}

Referenced definitions: components/schemas/PostgresJobStatusCounts.

PostgresJobStatusCounts (schemas)

{
  "description": "Exact job counts for one queue scope.",
  "properties": {
    "finished": {
      "title": "Finished",
      "type": "integer"
    },
    "outstanding": {
      "title": "Outstanding",
      "type": "integer"
    },
    "statuses": {
      "additionalProperties": {
        "type": "integer"
      },
      "title": "Statuses",
      "type": "object"
    },
    "total": {
      "title": "Total",
      "type": "integer"
    }
  },
  "required": [
    "total",
    "finished",
    "outstanding",
    "statuses"
  ],
  "title": "PostgresJobStatusCounts",
  "type": "object"
}

PostgresJobSummaryResponse (schemas)

{
  "description": "Database-wide summary of every PostgreSQL listener queue.",
  "properties": {
    "generatedAt": {
      "format": "date-time",
      "title": "Generatedat",
      "type": "string"
    },
    "summary": {
      "$ref": "#/components/schemas/PostgresJobStatusCounts"
    },
    "tables": {
      "items": {
        "$ref": "#/components/schemas/PostgresJobTableSummary"
      },
      "title": "Tables",
      "type": "array"
    }
  },
  "required": [
    "generatedAt",
    "summary",
    "tables"
  ],
  "title": "PostgresJobSummaryResponse",
  "type": "object"
}

Referenced definitions: components/schemas/PostgresJobStatusCounts, components/schemas/PostgresJobTableSummary.

PostgresJobTableSummary (schemas)

{
  "description": "Counts and optional discriminator breakdown for one physical queue.",
  "properties": {
    "groupBy": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Groupby"
    },
    "groups": {
      "items": {
        "$ref": "#/components/schemas/PostgresJobGroupSummary"
      },
      "title": "Groups",
      "type": "array"
    },
    "summary": {
      "$ref": "#/components/schemas/PostgresJobStatusCounts"
    },
    "tableName": {
      "title": "Tablename",
      "type": "string"
    }
  },
  "required": [
    "tableName",
    "groupBy",
    "summary",
    "groups"
  ],
  "title": "PostgresJobTableSummary",
  "type": "object"
}

Referenced definitions: components/schemas/PostgresJobGroupSummary, components/schemas/PostgresJobStatusCounts.

ValidationError (schemas)

{
  "properties": {
    "ctx": {
      "title": "Context",
      "type": "object"
    },
    "input": {
      "title": "Input"
    },
    "loc": {
      "items": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "integer"
          }
        ]
      },
      "title": "Location",
      "type": "array"
    },
    "msg": {
      "title": "Message",
      "type": "string"
    },
    "type": {
      "title": "Error Type",
      "type": "string"
    }
  },
  "required": [
    "loc",
    "msg",
    "type"
  ],
  "title": "ValidationError",
  "type": "object"
}

APIKeyHeader (securitySchemes)

{
  "in": "header",
  "name": "X-API-Key",
  "type": "apiKey"
}

Client-ID (securitySchemes)

{
  "description": "Optional client identifier.",
  "in": "header",
  "name": "Client-ID",
  "type": "apiKey"
}

HTTPBearer (securitySchemes)

{
  "scheme": "bearer",
  "type": "http"
}

Functional guide.