> ## Documentation Index
> Fetch the complete documentation index at: https://docs.contraforce.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Provision sentinel ingest credential



## OpenAPI

````yaml /api-reference/openapi.json post /api/v2/service-accounts/sentinel-ingest/deployment-card
openapi: 3.1.1
info:
  title: ContraForce API
  description: ContraForce platform API for security operations management.
  version: '2.0'
servers: []
security: []
tags:
  - name: Incidents
  - name: Gamebooks
  - name: Data sources
  - name: Service tickets
  - name: Investigation
  - name: Export
  - name: agent-tools
  - name: Cross-workspace incidents
  - name: Cross-workspace gamebooks
  - name: Cross-workspace data sources
  - name: Webhooks
  - name: Service accounts
  - name: Users
  - name: Azure resources
paths:
  /api/v2/service-accounts/sentinel-ingest/deployment-card:
    post:
      tags:
        - Service accounts
      summary: Provision sentinel ingest credential
      operationId: v2-provision-sentinel-ingest-credential
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProvisionSentinelIngestRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ApiResponseOfSentinelIngestDeploymentCardDto
        '400':
          description: Bad request — validation or parameter binding failed.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblemDetails'
        '401':
          description: Unauthorized — missing or invalid Bearer token.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblemDetails'
        '403':
          description: Forbidden — insufficient scope or workspace access.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblemDetails'
        '404':
          description: Not found — workspace or resource is missing.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblemDetails'
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblemDetails'
components:
  schemas:
    ProvisionSentinelIngestRequest:
      type: object
      properties:
        workspaceIds:
          type:
            - 'null'
            - array
          items:
            type: string
            format: uuid
          description: >-
            The customer workspaces (ContraForce accounts) to onboard onto the
            ingest credential.
      description: >-
        Request to provision (or reuse) the platform-managed Sentinel Content
        Hub ingest credential and add one or

        more customer workspaces to it. The service-provider org is taken from
        the authenticated identity.
    ApiResponseOfSentinelIngestDeploymentCardDto:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/SentinelIngestDeploymentCardDto'
          description: >-
            The deployment card the portal shows after provisioning Sentinel
            Content Hub ingest: the shared client id

            and secret for the organization, plus each onboarded workspace and
            the endpoint its playbook posts to.
        meta:
          $ref: '#/components/schemas/ResponseMeta'
      description: Standard v2 API response envelope for single-item responses.
    ApiProblemDetails:
      type: object
      properties:
        type:
          type:
            - 'null'
            - string
        title:
          type:
            - 'null'
            - string
        status:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int32
        detail:
          type:
            - 'null'
            - string
        instance:
          type:
            - 'null'
            - string
        code:
          type:
            - 'null'
            - string
        requestId:
          type:
            - 'null'
            - string
        timestamp:
          type:
            - 'null'
            - string
        target:
          type:
            - 'null'
            - string
        errors:
          type:
            - 'null'
            - object
          additionalProperties:
            type: array
            items:
              type: string
      description: >-
        API extension of ProblemDetails that surfaces the stable error code,

        trace identifier, timestamp, optional target, and optional field-keyed
        validation

        error map alongside the RFC 7807 members.
    SentinelIngestDeploymentCardDto:
      type: object
      properties:
        clientId:
          type: string
          description: >-
            The client id every playbook authenticates with (the managed service
            account id, shared org-wide).
          format: uuid
        clientSecret:
          type:
            - 'null'
            - string
          description: >-
            The client secret, shared across all of the organization's
            workspaces. Returned on every provision so it

            can be reused when adding a workspace later; the same secret
            authenticates every playbook. Null only if

            the credential could not be resolved.
        credentialAlreadyIssued:
          type: boolean
          description: >-
            True when the credential already existed before this call (this
            provisioning reused it rather than

            creating it). Informational; the secret is returned either way.
        workspaces:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/SentinelIngestWorkspaceDto'
            description: >-
              One onboarded workspace and the region-qualified ingest endpoint
              its playbook posts incidents to.
          description: >-
            The workspaces onboarded by this call, each with the endpoint its
            Sentinel playbook posts to.
      description: >-
        The deployment card the portal shows after provisioning Sentinel Content
        Hub ingest: the shared client id

        and secret for the organization, plus each onboarded workspace and the
        endpoint its playbook posts to.
    ResponseMeta:
      type: object
      properties:
        requestId:
          type:
            - 'null'
            - string
        timestamp:
          type:
            - 'null'
            - string
    SentinelIngestWorkspaceDto:
      type: object
      properties:
        workspaceId:
          type: string
          format: uuid
        workspaceName:
          type:
            - 'null'
            - string
        ingestUrl:
          type:
            - 'null'
            - string
      description: >-
        One onboarded workspace and the region-qualified ingest endpoint its
        playbook posts incidents to.

````