Didomi · Arazzo Workflow

Didomi Submit Notice Text Content for Approval

Version 1.0.0

Create a notice text, submit a content version for the Didomi approval process, and read the content status.

1 workflow 1 source API 1 provider
View Spec View on GitHub AdvertisingAdTechCCPACMPConsentConsent ManagementDSARData PrivacyGDPRIAB TCFMarTechPreference ManagementPrivacyPrivacy RequestsRegulatory ComplianceArazzoWorkflows

Provider

didomi

Workflows

submit-notice-text-content
Create a notice text, submit a content version, and read its approval status.
Creates a notice text for an organization, submits a content version against it for approval, and reads the content back to inspect its approval status, branching on whether it is already approved or still submitted.
4 steps inputs: content, includesPurposes, organizationId, textName, token outputs: contentId, status, textId
1
createText
{$sourceDescriptions.noticesApi.url}#/paths/~1widgets~1notices~1texts/post
Create a notice text. organization_id and name are both required by the NoticeTextInput schema.
2
submitContent
{$sourceDescriptions.noticesApi.url}#/paths/~1widgets~1notices~1texts-contents/post
Submit a content version against the new text. content, organization_id and text_id are required by the NoticeTextContentInput schema. The content enters the Didomi approval process and is assigned a content version.
3
getContent
{$sourceDescriptions.noticesApi.url}#/paths/~1widgets~1notices~1texts-contents~1{id}/get
Read the content back by its ID and branch on its approval status: approved content ends the flow while submitted content is polled once more.
4
pollContent
{$sourceDescriptions.noticesApi.url}#/paths/~1widgets~1notices~1texts-contents~1{id}/get
Re-read the content to poll its approval status when it was still submitted and awaiting review by the Didomi team.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Didomi Submit Notice Text Content for Approval
  summary: Create a notice text, submit a content version for the Didomi approval process, and read the content status.
  description: >-
    A Didomi pattern for managing the versioned, approved wording shown to end
    users during consent collection. The workflow creates a notice text, submits a
    content version against it (which enters the Didomi team's approval process),
    and reads the content back by its ID to inspect its approval status. Each step
    spells out its request inline, including the bearer Authorization header, so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-130.50
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-130.50
      capability_name: Privacy & Data Protection Management
      spec: didomi-notices-api-openapi.yml
      confidence: 0.72
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: noticesApi
  url: ../openapi/didomi-notices-api-openapi.yml
  type: openapi
workflows:
- workflowId: submit-notice-text-content
  summary: Create a notice text, submit a content version, and read its approval status.
  description: >-
    Creates a notice text for an organization, submits a content version against
    it for approval, and reads the content back to inspect its approval status,
    branching on whether it is already approved or still submitted.
  inputs:
    type: object
    required:
    - token
    - organizationId
    - textName
    - content
    properties:
      token:
        type: string
        description: A valid Didomi JWT used as the bearer token for the Authorization header.
      organizationId:
        type: string
        description: The ID of the organization that owns the text and content.
      textName:
        type: string
        description: Name used to distinguish this notice text in your account.
      content:
        type: string
        description: The actual text content to submit for approval.
      includesPurposes:
        type: boolean
        description: Whether the content includes a complete list of purposes.
  steps:
  - stepId: createText
    description: >-
      Create a notice text. organization_id and name are both required by the
      NoticeTextInput schema.
    operationPath: '{$sourceDescriptions.noticesApi.url}#/paths/~1widgets~1notices~1texts/post'
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.token"
    requestBody:
      contentType: application/json
      payload:
        organization_id: $inputs.organizationId
        name: $inputs.textName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      textId: $response.body#/id
  - stepId: submitContent
    description: >-
      Submit a content version against the new text. content, organization_id and
      text_id are required by the NoticeTextContentInput schema. The content
      enters the Didomi approval process and is assigned a content version.
    operationPath: '{$sourceDescriptions.noticesApi.url}#/paths/~1widgets~1notices~1texts-contents/post'
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.token"
    requestBody:
      contentType: application/json
      payload:
        content: $inputs.content
        organization_id: $inputs.organizationId
        text_id: $steps.createText.outputs.textId
        includes_purposes: $inputs.includesPurposes
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      contentId: $response.body#/id
      status: $response.body#/status
  - stepId: getContent
    description: >-
      Read the content back by its ID and branch on its approval status: approved
      content ends the flow while submitted content is polled once more.
    operationPath: '{$sourceDescriptions.noticesApi.url}#/paths/~1widgets~1notices~1texts-contents~1{id}/get'
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.token"
    - name: id
      in: path
      value: $steps.submitContent.outputs.contentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      contentId: $response.body#/id
      status: $response.body#/status
    onSuccess:
    - name: approved
      type: end
      criteria:
      - context: $response.body
        condition: $.status == "approved"
        type: jsonpath
    - name: stillSubmitted
      type: goto
      stepId: pollContent
      criteria:
      - context: $response.body
        condition: $.status == "submitted"
        type: jsonpath
  - stepId: pollContent
    description: >-
      Re-read the content to poll its approval status when it was still submitted
      and awaiting review by the Didomi team.
    operationPath: '{$sourceDescriptions.noticesApi.url}#/paths/~1widgets~1notices~1texts-contents~1{id}/get'
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.token"
    - name: id
      in: path
      value: $steps.submitContent.outputs.contentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
  outputs:
    textId: $steps.createText.outputs.textId
    contentId: $steps.submitContent.outputs.contentId
    status: $steps.getContent.outputs.status

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/didomi-submit-notice-text-content-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.