Referencia API

API de Revisiones

Revisiones de cambios de agente

Referencia HTTP. Generada a partir del contrato backend. Explore los endpoints abajo o descargue OpenAPI.

Este grupo tiene 7 operaciones, generadas a partir de api/openapi.yaml. Filtre por ruta, acción o autenticación. Cada endpoint indica sus entradas; despliéguelo para ver una plantilla de solicitud y los códigos de respuesta. Las plantillas necesitan sus propios valores y un cuerpo válido según el esquema.

Reemplace los marcadores en mayúsculas con sus valores. Para una solicitud JSON, guarde un cuerpo que coincida con el esquema en request.json. Los ejemplos de cookies usan un frasco de cookies local de una sesión autenticada.

Revisiones de cambios de agente

GET/api/reviews

Listar reseñas

Las revisiones del proyecto (docs/reviews.md): los cambios de listas de reproducción y de pantallas propuestos con acceso Proponer, las escrituras de campañas, carpetas de pantallas y movimientos que alcanzan una pantalla protegida (kind protected_change, docs/screen-scope.md) y, para una red publicitaria, las creatividades que enviaron los compradores (kind ad_creative).

Las más nuevas primero, como máximo límite (por defecto 50, máximo 100) por página; pase next_cursor como cursor con los mismos filtros. state pendiente (el predeterminado), decidido (cualquier otro estado) o todo; kind limita a un tipo.

Una sesión del panel lee todos los tipos; un portador lee los tipos que cubren sus capacidades (listas de reproducción para playlist_change, pantallas para screen_change y protected_change, publicidad para ad_creative), y un tipo que no puede leer es una página vacía. pending_count cuenta las revisiones pendientes de todos los tipos que ve el llamador.

Un llamador limitado a pantallas ve solo las revisiones screen_change y protected_change cuyo alcance completo está dentro del suyo (una revisión que selecciona pantallas por etiqueta nunca lo está) y las revisiones playlist_change; las revisiones ad_creative se le ocultan, y pending_count cuenta lo que ve.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
listReviews

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
estadoconsultaopcional
kindconsultaopcional
límiteconsultaopcional
cursorconsultaopcional
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/reviews'

Respuestas

EstadoSignificadoCuerpo y encabezados
200Una página de revisiones.ReviewList (application/json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
GET/api/reviews/{id}

Obtener reseña

Una revisión. Un cambio de lista de reproducción añade preview: la lista de reproducción en vivo y la propuesta en la forma guardada (pages con resolved_media); live es null para una creación. Un portador que no puede leer el tipo de la revisión (véase listReviews) recibe not_found, igual que un llamador limitado a pantallas para una revisión cuyo alcance no está dentro del suyo.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
getReview

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
idrutarequerido
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/reviews/RESOURCE_ID'

Respuestas

EstadoSignificadoCuerpo y encabezados
200La revisión.Revisión (application/json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
GET/api/reviews/{id}/locate

Ubicar revisión

El proyecto al que pertenece una revisión, para el enlace de correo electrónico: una persona conectada que es miembro de ese proyecto obtiene su id y nombre y cambia a él (PUT /api/session/project) antes de leer la revisión. Cualquier otro recibe not_found. Funciona con cualquier proyecto que la sesión haya seleccionado.

Autenticación
dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
locateReview

Parámetros

NombreEnviar¿Requerido?Descripción
idrutarequerido
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/reviews/RESOURCE_ID/locate'

Respuestas

EstadoSignificadoCuerpo y encabezados
200El proyecto de la revisión.ReviewLocation (application/json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
POST/api/reviews/{id}/approve

Aprobar revisión

Aprueba una revisión pendiente como persona que puede aprobar (el propietario del proyecto o un miembro con can_approve; de lo contrario approver_required). La bandera se lee de nuevo dentro de la transacción de decisión, así que una persona cuya aprobación fue desactivada mientras tanto no decide nada (approver_required). Las sesiones sombra del personal no pueden decidir.

Una actualización de lista de reproducción se aplica con la revisión base como If-Match; cuando la lista en vivo avanza, la revisión se vuelve obsoleta y la llamada responde review_stale.

Una creación o actualización cuyo tag, carpeta o todos los selectores ahora reproducirían medios que no resolvieron cuando se propusieron, que la revisión no nombra y que la versión en vivo aún no reproduce, también se vuelve obsoleta (review_stale).

Un cambio de pantalla reproduce su solicitud almacenada (una etiqueta se resuelve ahora): la llamada aplica pantallas por unos segundos y el resto continúa en segundo plano mientras screen_change.result.applying es verdadero.

Un cambio de pantalla esperando una revisión pendiente de lista de reproducción responde review_blocked nombrándola; uno cuya lista de reproducción no tiene versión aprobada responde playlist_not_approved. include_dependents también aprueba, en orden, los cambios de pantalla que esperan esta revisión de lista de reproducción. Los eventos del cambio aplicado llevan a la persona como actor y al agente que propone como agente.

La respuesta incluye warnings (PlaylistWarning): screen_fact_missing cuando el cambio aprobado pone en pantallas que no lo tienen páginas cuyo src de iframe o params de aplicación leen un token de pantalla. Una revisión decidida es review_not_pending; repetir la misma decisión la reproduce.

Una revisión marcada como protegida (una protected_change, o una screen_change que alcanzó una pantalla protegida) la decide un aprobador distinto del proponente y de la persona responsable del agente proponente: de lo contrario second_approver_required (403), y también cuando no se puede rastrear al proponente hasta una persona (docs/screen-scope.md).

Un aprobador limitado a pantallas decide solo una revisión cuyo alcance completo está dentro del suyo (outside_screen_scope, 403). Esta solicitud aplica una protected_change, como la persona que aprueba, en la revisión contra la que se propuso; una campaña o carpeta que cambió o desapareció desde entonces, o pantallas que se movieron, dejan la revisión obsoleta (review_stale, 409).

Un dependiente que no se puede aprobar informa los mismos códigos en dependents[].problem.

Autenticación
dashboardSession
Cuerpo de la solicitud
ReviewApproveRequest
ID de operación
approveReview

Parámetros

NombreEnviar¿Requerido?Descripción
idrutarequerido
Idempotency-KeyencabezadoopcionalOmitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente.

Campos del cuerpo de la solicitud

CampoDescripción
include_dependents (opcional, booleano)También apruebe, en orden, los cambios de pantalla que esperan esta revisión de lista de reproducción.
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/reviews/RESOURCE_ID/approve'

Respuestas

EstadoSignificadoCuerpo y encabezados
200La revisión aprobada y los resultados de los dependientes.ReviewDecisionResult (application/json)
403approver_required, second_approver_required u outside_screen_scope.Problema (application/problem+json)
409review_not_pending, review_stale, review_blocked o playlist_not_approved.Problema (application/problem+json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
POST/api/reviews/{id}/reject

Rechazar revisión

Rechaza una revisión pendiente con una razón que lee el proponente. Solo aprobador, igual que approveReview; un aprobador limitado a pantallas decide solo una revisión dentro de su alcance (outside_screen_scope), y ninguna persona limitada a pantallas decide una creatividad publicitaria. No cambia nada en pantalla; una creación de lista de reproducción rechazada sigue sin aprobar.

Autenticación
dashboardSession
Cuerpo de la solicitud
ReviewRejectRequest
ID de operación
rejectReview

Parámetros

NombreEnviar¿Requerido?Descripción
idrutarequerido
Idempotency-KeyencabezadoopcionalOmitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente.

Campos del cuerpo de la solicitud

CampoDescripción
razón (requerida, cadena)minLength: 1 maxLength: 500
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/reviews/RESOURCE_ID/reject'

Respuestas

EstadoSignificadoCuerpo y encabezados
200La revisión fue rechazada.ReviewDecisionResult (application/json)
403

outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota.

Problema (application/problem+json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
POST/api/reviews/{id}/request-changes

Solicitar revisión de cambios

Pide cambios al proponente con una nota que este lee; el proponente propone de nuevo. Solo aprobador, igual que approveReview. Para una creatividad publicitaria, el comprador lee la nota en la creatividad. Un aprobador con alcance está limitado como en rejectReview.

Autenticación
dashboardSession
Cuerpo de la solicitud
ReviewChangesRequest
ID de operación
requestReviewChanges

Parámetros

NombreEnviar¿Requerido?Descripción
idrutarequerido
Idempotency-KeyencabezadoopcionalOmitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente.

Campos del cuerpo de la solicitud

CampoDescripción
nota (requerida, cadena)minLength: 1 maxLength: 500
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/reviews/RESOURCE_ID/request-changes'

Respuestas

EstadoSignificadoCuerpo y encabezados
200La revisión, estado changes_requested.ReviewDecisionResult (application/json)
403

outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota.

Problema (application/problem+json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)
POST/api/reviews/{id}/withdraw

Retirar revisión

Retira una revisión pendiente de lista de reproducción, de pantalla o protected_change. Un portador retira solo lo que propuso su propio agente o cliente de servicio (de lo contrario forbidden); una persona retira como aprobador o como persona responsable del proponente; una persona limitada a pantallas retira solo una revisión dentro de su alcance (outside_screen_scope).

Una creación de lista de reproducción retirada sigue sin aprobar.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
withdrawReview

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
idrutarequerido
Idempotency-KeyencabezadoopcionalOmitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente.
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/reviews/RESOURCE_ID/withdraw'

Respuestas

EstadoSignificadoCuerpo y encabezados
200La revisión retirada.ReviewDecisionResult (application/json)
403

outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota.

Problema (application/problem+json)
predeterminado

Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico.

Problema (application/problem+json)