openapi: 3.2.0 info: version: v1.0.0 title: External APIs for Customer Integration Organization Credentials API description: APIs to create and fetch Clean Room and related details from LiveRamp (previously Habu) for Customer Integration. contact: name: LiveRamp (previously Habu) url: https://liveramp.com/ email: platform_admin@habu.com servers: - description: External APIs for Customer Integration url: https://api.habu.com/v1/ security: - application: [] tags: - name: Organization Credentials paths: /organization-credentials: get: summary: Fetch a list of all Organization Credentials operationId: getAllOrganizationCredentials description: This operation fetches a list of all the Organization Credentials created for this Customer Integration. Ensure that the credentials are configured on the Habu platform before they can be accessed via external APIs. Creation of credentials is not exposed via external APIs to prevent potential security issues with transmitting raw credential values. responses: '200': description: Organization Credentials fetched successfully. content: application/json: schema: $ref: '#/components/schemas/OrganizationCredentialDetails' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' tags: - Organization Credentials post: summary: Create Organization Credentials operationId: createOrganizationCredential description: This operation creates a new credential. requestBody: description: 'The following fields are required: name, credentialSourceName, credentials; all others are optional' required: true content: application/json: schema: $ref: '#/components/schemas/OrganizationCredentialDetail' responses: '200': description: New credential created successfully. content: application/json: schema: $ref: '#/components/schemas/OrganizationCredentialDetail' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' tags: - Organization Credentials /organization-credentials/{organizationCredentialId}: get: summary: Fetch an Organization Credential by ID operationId: getOrganizationCredentialById description: This operation fetches an Organization Credential by ID. parameters: - name: organizationCredentialId in: path description: Organization Credential ID required: true schema: type: string responses: '200': description: Successfully fetched the Organization Credential. content: application/json: schema: $ref: '#/components/schemas/OrganizationCredentialDetail' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' tags: - Organization Credentials put: summary: Update Organization Credentials operationId: updateOrganizationCredential description: This operation updates an existing credential. parameters: - name: organizationCredentialId in: path description: Organization Credential ID required: true schema: type: string requestBody: description: 'The following fields are required: name, credentialSourceName, credentials; all others are optional' required: true content: application/json: schema: $ref: '#/components/schemas/OrganizationCredentialDetail' responses: '200': description: Update an existing credential successfully. content: application/json: schema: $ref: '#/components/schemas/OrganizationCredentialDetail' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' tags: - Organization Credentials delete: summary: Delete an Organization Credential by ID operationId: deleteOrganizationCredential description: This operation deletes an organization credential by ID. parameters: - in: path name: organizationCredentialId description: Organization Credential ID to be deleted schema: type: string required: true responses: '200': description: Organization Credential deleted successfully. content: application/json: schema: $ref: '#/components/schemas/DeleteResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' tags: - Organization Credentials components: schemas: OrganizationCredentialDetail: type: object properties: id: type: string description: Organization Credential ID name: type: string description: Name of the organization credential managedCredential: type: boolean description: Is this a managed or service credential credentialSourceId: type: string description: Credential Source ID credentialSourceName: default: null type: string description: Credential Source Name enum: - AMC Export - AWS Clean Room Credentials - AWS ECR Registry - AWS IAM User Credentials - AWS S3 Credential - Amazon Ads Api Credentials - Azure AD Service Principal - Azure SAS Token - CUSTOMER_AWS - DV 360 - DV360 Customer Match - Databricks Account - Databricks Delta Credentials - Databricks Service Role Credentials - Docker Registry - Equativ - Facebook AA Credentials - Facebook Audience Measurement API - Facebook Conversions - Facebook Custom Audiences - Facebook Direct Custom Audiences - Facebook Offline Conversions - Google Ad Manager - Google Ads Data Hub - Google Customer Match - Google Customer Match - MAID - Google Enhanced Conversions - Google Enhanced Conversions - Beta - Google Offline Conversions - Google Service Account - Google Workload Identity Federation - HUBSPOT - LinkedIn Partner - LiveRamp Activation - Pinterest Ads - Polaris Catalog Credentials - Reddit Ads - Salesforce Credential - Snapchat Audience Match - Snapchat Offline Conversions - Snowflake - Snowflake Account - Snowflake Account With Credentials - Snowflake Azure - Snowflake Data Connection - Snowflake GCS - Snowflake S3 Credentials - Snowflake S3 Role - TikTok Audience - TikTok Offline Conversions - Twitter Conversions - Twitter Tailored Audiences - LiveRamp Analytics Environment credentials: type: array items: $ref: '#/components/schemas/Credentials' timeAudit: $ref: '#/components/schemas/TimeAudit' userAudit: $ref: '#/components/schemas/UserAudit' required: - name - credentials OrganizationCredentialDetails: description: A list of all Organization Credentials type: array items: $ref: '#/components/schemas/OrganizationCredentialDetail' DeleteResponse: type: object properties: success: type: boolean TimeAudit: type: object properties: createdAt: type: string format: date-time description: Timestamp for when the object was created updatedAt: type: string format: date-time description: Timestamp for when the object was last updated deletedAt: type: string format: date-time description: Timestamp for when the object was deleted (if applicable) ReturnObject: type: object properties: code: type: string message: type: string required: - code - message UserAudit: type: object properties: createdBy: type: string description: Identifier of the user who created the object updatedBy: type: string description: Identifier of the user who last updated the object Credentials: type: object properties: name: type: string value: type: string responses: Forbidden: description: This action is not allowed content: application/json: schema: $ref: '#/components/schemas/ReturnObject' application/xml: schema: $ref: '#/components/schemas/ReturnObject' Unauthorized: description: Authorization information was missing or invalid content: application/json: schema: $ref: '#/components/schemas/ReturnObject' application/xml: schema: $ref: '#/components/schemas/ReturnObject' NotFound: description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/ReturnObject' application/xml: schema: $ref: '#/components/schemas/ReturnObject' InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ReturnObject' application/xml: schema: $ref: '#/components/schemas/ReturnObject' BadRequest: description: Bad Request - Incorrect syntax or request content: application/json: schema: $ref: '#/components/schemas/ReturnObject' application/xml: schema: $ref: '#/components/schemas/ReturnObject' securitySchemes: application: type: oauth2 flows: clientCredentials: tokenUrl: https://api.habu.com/v1/oauth/token scopes: {}