← All API operations

GET /api/v1/personas/{id}

Read personas

Authenticated and advertiser scoped. Cross-tenant resource access returns 404. Product/channel entitlements also apply.

Request

HTTP
GET /api/v1/personas/{id}

Use the configured API origin. Private requests require a verified Bearer credential; an agent mutation can additionally require exact approval headers. Authentication guide →

ParameterLocationRequiredDescription
idpathYes
Parameter schemas
JSON Schema
[
  {
    "name": "id",
    "in": "path",
    "required": true,
    "schema": {
      "type": "string"
    }
  }
]

Responses

Reference schemas resolve through the downloadable OpenAPI components. The specification marks unmodeled success payloads; an unrestricted payload is not a promise that arbitrary fields exist.

400Invalid request or unsupported fields
Response contract
{
  "description": "Invalid request or unsupported fields",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
401Missing or invalid authentication
Response contract
{
  "description": "Missing or invalid authentication",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
403Permission or product scope refused
Response contract
{
  "description": "Permission or product scope refused",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
404Route or tenant-scoped resource not found
Response contract
{
  "description": "Route or tenant-scoped resource not found",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
409State, revision, approval, funding or idempotency conflict
Response contract
{
  "description": "State, revision, approval, funding or idempotency conflict",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
422Supplier configuration, capability or upstream refusal
Response contract
{
  "description": "Supplier configuration, capability or upstream refusal",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
429Rate limit reached; wait before retrying
Response contract
{
  "description": "Rate limit reached; wait before retrying",
  "headers": {
    "x-ratelimit-limit": {
      "description": "Maximum requests permitted in the current rate-limit window.",
      "schema": {
        "type": "integer"
      }
    },
    "x-ratelimit-remaining": {
      "description": "Requests remaining in the current window.",
      "schema": {
        "type": "integer"
      }
    },
    "x-ratelimit-reset": {
      "description": "Seconds until the current rate-limit window resets.",
      "schema": {
        "type": "integer"
      }
    },
    "retry-after": {
      "description": "Minimum seconds to wait before retrying.",
      "schema": {
        "type": "integer"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
500Internal error; inspect state before retrying a mutation
Response contract
{
  "description": "Internal error; inspect state before retrying a mutation",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
503Dependency or authentication verifier unavailable
Response contract
{
  "description": "Dependency or authentication verifier unavailable",
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
2XXSuccessful response. Response schema completeness: envelope-only. The request contract is complete; nested service payloads are not yet fully modeled in OpenAPI. Inspect returned fields before generating a typed SDK.
Response contract
{
  "description": "Successful response. Response schema completeness: envelope-only. The request contract is complete; nested service payloads are not yet fully modeled in OpenAPI. Inspect returned fields before generating a typed SDK.",
  "headers": {
    "x-ratelimit-limit": {
      "description": "Maximum requests permitted in the current rate-limit window.",
      "schema": {
        "type": "integer"
      }
    },
    "x-ratelimit-remaining": {
      "description": "Requests remaining in the current window.",
      "schema": {
        "type": "integer"
      }
    },
    "x-ratelimit-reset": {
      "description": "Seconds until the current rate-limit window resets.",
      "schema": {
        "type": "integer"
      }
    }
  },
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "properties": {
          "persona": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "version": {
                "type": "integer",
                "minimum": 1,
                "default": 1
              },
              "name": {
                "type": "string"
              },
              "nlDescription": {
                "type": "string"
              },
              "semanticCore": {
                "type": "object",
                "properties": {
                  "geo": {
                    "type": "object",
                    "properties": {
                      "countries": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "default": [
                          "GB"
                        ]
                      },
                      "cities": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "default": []
                      },
                      "postcodeDistricts": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "default": []
                      },
                      "tvRegions": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "default": []
                      }
                    },
                    "additionalProperties": true
                  },
                  "demographics": {
                    "type": "object",
                    "properties": {
                      "ageMin": {
                        "type": "integer",
                        "minimum": 16,
                        "maximum": 99
                      },
                      "ageMax": {
                        "type": "integer",
                        "minimum": 16,
                        "maximum": 99
                      },
                      "gender": {
                        "type": "string",
                        "enum": [
                          "any",
                          "male",
                          "female"
                        ],
                        "default": "any"
                      },
                      "incomeBand": {
                        "type": "string",
                        "enum": [
                          "any",
                          "mid",
                          "high"
                        ],
                        "default": "any"
                      }
                    },
                    "additionalProperties": true
                  },
                  "firmographics": {
                    "type": "object",
                    "properties": {
                      "sicCodes": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "default": []
                      },
                      "seniority": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "c-suite",
                            "vp",
                            "director",
                            "manager",
                            "ic"
                          ]
                        },
                        "default": []
                      },
                      "companySize": {
                        "type": "string",
                        "enum": [
                          "any",
                          "smb",
                          "mid",
                          "enterprise"
                        ],
                        "default": "any"
                      }
                    },
                    "additionalProperties": true
                  },
                  "intentTopics": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "interests": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "exclusions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "default": []
                  },
                  "searchNegativeKeywords": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "unresolvedConstraints": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1
                    }
                  }
                },
                "required": [
                  "geo"
                ],
                "additionalProperties": true
              },
              "confidence": {
                "type": "object",
                "additionalProperties": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                },
                "default": {}
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              }
            },
            "required": [
              "id",
              "name",
              "nlDescription",
              "semanticCore"
            ],
            "additionalProperties": true
          }
        },
        "required": [
          "persona"
        ],
        "additionalProperties": true
      }
    }
  }
}

Operation constraints

Machine-readable metadata
{
  "x-response-schema-completeness": "envelope-only",
  "x-rate-limit": {
    "requests": 300,
    "windowMilliseconds": 60000,
    "key": "request IP",
    "headers": [
      "x-ratelimit-limit",
      "x-ratelimit-remaining",
      "x-ratelimit-reset"
    ]
  },
  "x-idempotency": {
    "policy": "not-generalized",
    "note": "There is no universal Idempotency-Key middleware. Only the documented endpoint mechanisms protect retries."
  }
}

Complete operation

OpenAPI
{
  "operationId": "get_api_v1_personas_id",
  "summary": "Read personas",
  "description": "Authenticated and advertiser scoped. Cross-tenant resource access returns 404. Product/channel entitlements also apply.",
  "tags": [
    "Personas"
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "parameters": [
    {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "400": {
      "description": "Invalid request or unsupported fields",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "401": {
      "description": "Missing or invalid authentication",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "403": {
      "description": "Permission or product scope refused",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "404": {
      "description": "Route or tenant-scoped resource not found",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "409": {
      "description": "State, revision, approval, funding or idempotency conflict",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "422": {
      "description": "Supplier configuration, capability or upstream refusal",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "429": {
      "description": "Rate limit reached; wait before retrying",
      "headers": {
        "x-ratelimit-limit": {
          "description": "Maximum requests permitted in the current rate-limit window.",
          "schema": {
            "type": "integer"
          }
        },
        "x-ratelimit-remaining": {
          "description": "Requests remaining in the current window.",
          "schema": {
            "type": "integer"
          }
        },
        "x-ratelimit-reset": {
          "description": "Seconds until the current rate-limit window resets.",
          "schema": {
            "type": "integer"
          }
        },
        "retry-after": {
          "description": "Minimum seconds to wait before retrying.",
          "schema": {
            "type": "integer"
          }
        }
      },
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "500": {
      "description": "Internal error; inspect state before retrying a mutation",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "503": {
      "description": "Dependency or authentication verifier unavailable",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "2XX": {
      "description": "Successful response. Response schema completeness: envelope-only. The request contract is complete; nested service payloads are not yet fully modeled in OpenAPI. Inspect returned fields before generating a typed SDK.",
      "headers": {
        "x-ratelimit-limit": {
          "description": "Maximum requests permitted in the current rate-limit window.",
          "schema": {
            "type": "integer"
          }
        },
        "x-ratelimit-remaining": {
          "description": "Requests remaining in the current window.",
          "schema": {
            "type": "integer"
          }
        },
        "x-ratelimit-reset": {
          "description": "Seconds until the current rate-limit window resets.",
          "schema": {
            "type": "integer"
          }
        }
      },
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "persona": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "version": {
                    "type": "integer",
                    "minimum": 1,
                    "default": 1
                  },
                  "name": {
                    "type": "string"
                  },
                  "nlDescription": {
                    "type": "string"
                  },
                  "semanticCore": {
                    "type": "object",
                    "properties": {
                      "geo": {
                        "type": "object",
                        "properties": {
                          "countries": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "default": [
                              "GB"
                            ]
                          },
                          "cities": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "default": []
                          },
                          "postcodeDistricts": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "default": []
                          },
                          "tvRegions": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "default": []
                          }
                        },
                        "additionalProperties": true
                      },
                      "demographics": {
                        "type": "object",
                        "properties": {
                          "ageMin": {
                            "type": "integer",
                            "minimum": 16,
                            "maximum": 99
                          },
                          "ageMax": {
                            "type": "integer",
                            "minimum": 16,
                            "maximum": 99
                          },
                          "gender": {
                            "type": "string",
                            "enum": [
                              "any",
                              "male",
                              "female"
                            ],
                            "default": "any"
                          },
                          "incomeBand": {
                            "type": "string",
                            "enum": [
                              "any",
                              "mid",
                              "high"
                            ],
                            "default": "any"
                          }
                        },
                        "additionalProperties": true
                      },
                      "firmographics": {
                        "type": "object",
                        "properties": {
                          "sicCodes": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "default": []
                          },
                          "seniority": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "enum": [
                                "c-suite",
                                "vp",
                                "director",
                                "manager",
                                "ic"
                              ]
                            },
                            "default": []
                          },
                          "companySize": {
                            "type": "string",
                            "enum": [
                              "any",
                              "smb",
                              "mid",
                              "enterprise"
                            ],
                            "default": "any"
                          }
                        },
                        "additionalProperties": true
                      },
                      "intentTopics": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "default": []
                      },
                      "interests": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "default": []
                      },
                      "exclusions": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "default": []
                      },
                      "searchNegativeKeywords": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "unresolvedConstraints": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      }
                    },
                    "required": [
                      "geo"
                    ],
                    "additionalProperties": true
                  },
                  "confidence": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    "default": {}
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "name",
                  "nlDescription",
                  "semanticCore"
                ],
                "additionalProperties": true
              }
            },
            "required": [
              "persona"
            ],
            "additionalProperties": true
          }
        }
      }
    }
  },
  "x-response-schema-completeness": "envelope-only",
  "x-rate-limit": {
    "requests": 300,
    "windowMilliseconds": 60000,
    "key": "request IP",
    "headers": [
      "x-ratelimit-limit",
      "x-ratelimit-remaining",
      "x-ratelimit-reset"
    ]
  },
  "x-idempotency": {
    "policy": "not-generalized",
    "note": "There is no universal Idempotency-Key middleware. Only the documented endpoint mechanisms protect retries."
  }
}
Download the complete specification, including shared schema components →